50,530
社区成员
发帖
与我相关
我的任务
分享
# Output pattern : date [thread] priority category - message
log4j.rootLogger=INFO,stdout,LOGFILE
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss} %5p %C{1}:%L] %m%n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE.File=pstserver.log
log4j.appender.LOGFILE.DatePattern=yyyy-MM-dd'.log'
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=ERROR
log4j.appender.LOGFILE.encoding=UTF-8
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss} %5p %C{1}:%L] %m%n
#资金操作日志
log4j.logger.com.leadton.server.service.impl.PstMoneyPayV3=info,moneylog
log4j.appender.moneylog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.moneylog.File=./logs/PstMoneyPayV3.log
log4j.appender.moneylog.Encoding=UTF-8
log4j.appender.moneylog.Append=true
log4j.appender.moneylog.Threshold=DEBUG
log4j.appender.moneylog.DatePattern='.'yyyy-MM-dd
log4j.appender.moneylog.layout=org.apache.log4j.PatternLayout
log4j.appender.moneylog.layout.ConversionPattern=%d{yy/MM/dd HH\:mm\:ss\:SSS}[%p][%c-%t]\: %m%n
#log4j.logger.com.ibatis = DEBUG
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
#log4j.logger.java.sql.Connection = DEBUG
#log4j.logger.java.sql.Statement = DEBUG
#log4j.logger.java.sql.PreparedStatement = DEBUG
#log4j.logger.java.sql.ResultSet = DEBUG
#project defalult level
log4j.logger.com.cnc=INFO
log4j.logger.net.sf.ehcache=INFO
log4j.logger.PSTLOG=DEBUG,A2
#\u8BBE\u7F6EAppender A2\u7684\u5C5E\u6027
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.file=pstIMP.log
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.Append=true
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d [%24F:%-4L:%-5p]%x %m%n
package com.leadton.server.service.impl;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSONObject;
import com.calculate.service.IUserAccountService;
import com.leadton.server.Constants;
import com.leadton.server.base.BaseMessage;
import com.leadton.server.cache.GoodsDbCacheService;
import com.leadton.server.codec.pojo.CloseAuctionRequest;
import com.leadton.server.dao.BidRecordDao;
import com.leadton.server.dao.DaoManager;
import com.leadton.server.dao.UserAccountDao;
import com.leadton.server.model.Agent;
import com.leadton.server.model.Bargin;
import com.leadton.server.model.BidRecord;
import com.leadton.server.model.Goods;
import com.leadton.server.model.Message;
import com.leadton.server.model.MessageContent;
import com.leadton.server.model.User;
import com.leadton.server.model.UserAccount;
import com.leadton.server.model.UserAccountDetail;
import com.leadton.server.util.BusinessInfo;
import com.leadton.server.util.CommUtil;
/**
* 拍视通操作资金业务类
* @author xcj
*
*/
public class PstMoneyPayV3 {
IUserAccountService accountService = DaoManager.getIUserAccountService();
private static final Logger moneylogger = LoggerFactory.getLogger(PstMoneyPayV3.class);
private static ScheduledThreadPoolExecutor moneythreadpool = new ScheduledThreadPoolExecutor(50);
public static class PstMoneyUtil{
/**
* 获取资金业务订单号
* @param userId 用户ID
* @param goodsId 拍品ID
* @param type 类型 1为 网络手动出价冻结订单 2为 设置委托出价冻结订单 3为 成交资金托管订单
* @param orderIdLength 订单长度
* @return
*/
public static String getOrderId(Long userId,Long goodsId,int type,int orderIdLength){
String orderId = "";
try {
String moneyType = "";
if (type == 1) {
moneyType = "P";
}else if(type == 2){
moneyType = "W";
}else if(type == 3){
moneyType = "C";
}
orderId =Constants.SERVER_NICK+userId+moneyType+goodsId;
int length = orderIdLength-orderId.length();
orderId = Constants.SERVER_NICK+CommUtil.fillZero(length)+userId+moneyType+goodsId;
return orderId;
} catch (Exception e) {
e.printStackTrace();
moneylogger.error("getOrderId 获取订单号异常"+e.toString());
}
return orderId;
}
}
public static void main(String[] args) {
PstMoneyPayV3 moneyPayV3 = new PstMoneyPayV3();
//moneyPayV3.LockMoney(userName, companyId, companyType, orderId, isUseCre, isUseDep, isUseLft, lockMoney, operator)
}
/**
* 获取账户所有类型的可用金额(包括信用额度,预存金,联付通)
* @param userName 用户名
* @param companyId 承受方单位ID
* @param companyType 承受方单位类型 0:预留,1:拍卖企业,2:店家
* @return Map:
* msCode[资金服务消息码 1003:联付通参数不完整 1401:联付通无效用户 B1001:参数校验失败 B2001:处理异常 B2002:处理成功]
* creMoney[信用额度可用金额]
* depMoney[预存金可用金额]
* lftMoney[联付通可用金额]
*/
public Map<String, Object> queryAllMoney(String userName,Long companyId,int companyType){
Map<String,Object> resultMap = new HashMap<String,Object>();
try {
Map<String, Object> parmMap = new HashMap<String, Object>();
parmMap.put("userName", userName);
parmMap.put("companyId", companyId);
parmMap.put("companyType", companyType);
parmMap.put("systemCode", Constants.PST_MONEY_SYSTEMCODE);
moneylogger.info("用户"+userName+"调用获取账户所有类型的可用金额接口传值:"+parmMap.toString());
resultMap = accountService.queryAllMoney(parmMap);
moneylogger.info("用户"+userName+"调用获取账户所有类型的可用金额接口返回:"+resultMap.toString());
} catch (Exception e) {
moneylogger.error("用户"+userName+"调用获取账户所有类型的可用金额接口异常:"+e.toString());
e.printStackTrace();
}
return resultMap;
}