bruce

仓管费

......@@ -2,8 +2,10 @@ package com.cjs.site.action.user.fund;
import com.cjs.site.biz.user.pick.PickPayBiz;
import com.cjs.site.util.lang.JsonUtil;
import com.cjs.site.util.union.UnionPayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
......@@ -31,8 +33,19 @@ public class PickPayAction {
//支付通知
@RequestMapping(value = "notify", method = RequestMethod.POST)
public String notify(Map<String, String> params) {
System.out.println("map----params参数" + JsonUtil.toJson(params));
@ResponseBody
public String notify(HttpServletRequest request) {
Map<String,String> params = UnionPayUtil.getRequestParams(request);
System.out.println("银联支付推送回调参数:"+JsonUtil.toJson(params));
if (pickPayBiz.isValidNotify(params)){
return "SUCCESS";
}
return "ERROR";
}
@RequestMapping(value = "test", method = RequestMethod.POST)
@ResponseBody
public String notify(@RequestBody Map<String,String> params) {
if (pickPayBiz.isValidNotify(params)){
return "SUCCESS";
}
......
......@@ -102,7 +102,7 @@ public class PickAction {
@RequestMapping("self")
public String selfPick(OutpropApplyPickInfo pickInfo, Model model,
RedirectAttributes attributes, HttpSession session) {
ResultInfo resultInfo = pickBiz.selfPickNew(pickInfo);
ResultInfo resultInfo = pickBiz.selfPick(pickInfo);
session.setAttribute("pickInfo",pickInfo);
this.putApplys(resultInfo, pickInfo, "2", model, attributes);
if (resultInfo.getCode() == 0) {
......@@ -151,7 +151,7 @@ public class PickAction {
public String zhaoonlinePick(OutpropApplyPickInfo pickInfo, Model model,
RedirectAttributes attributes, HttpSession session) {
session.setAttribute("pickInfo",pickInfo);
ResultInfo resultInfo = pickBiz.zhaoonlinePickNew(pickInfo);
ResultInfo resultInfo = pickBiz.zhaoonlinePick(pickInfo);
this.putApplys(resultInfo, pickInfo, "1", model, attributes);
if (resultInfo.getCode() == 0) {
......
package com.cjs.site.biz.user.pick;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import com.cjs.site.dao.user.pick.*;
import com.cjs.site.util.lang.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service;
import com.cjs.site.biz.ServiceException;
import com.cjs.site.biz.pub.ZhaoonlineBiz;
import com.cjs.site.biz.user.fund.FundBiz;
import com.cjs.site.dao.pub.OtcExchangeDateDao;
import com.cjs.site.dao.user.account.ClientInfoDao;
import com.cjs.site.dao.user.account.UserAddressDao;
import com.cjs.site.dao.user.pick.*;
import com.cjs.site.model.pub.ConstInfo;
import com.cjs.site.model.pub.ResultInfo;
import com.cjs.site.model.user.account.ClientInfo;
import com.cjs.site.model.user.account.UserAddressInfo;
import com.cjs.site.model.user.account.UserInfo;
import com.cjs.site.model.user.pick.InventoryInfo;
import com.cjs.site.model.user.pick.OutpropApplyInfo;
import com.cjs.site.model.user.pick.OutpropApplyPickInfo;
import com.cjs.site.model.user.pick.PickPackageInfo;
import com.cjs.site.model.user.pick.WarehouseInfo;
import com.cjs.site.model.user.pick.*;
import com.cjs.site.util.lang.DateEnum;
import com.cjs.site.util.lang.DateUtil;
import com.cjs.site.util.redis.JedisTemplate;
import com.cjs.site.util.t2.T2Result;
import com.cjs.site.util.t2.T2Util;
import com.cjs.site.util.web.ActionUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import javax.servlet.http.HttpSession;
import java.util.*;
/**
* 提货
*
......@@ -105,8 +92,21 @@ public class PickBiz {
return amount;
}
public ResultInfo selfPickNew(OutpropApplyPickInfo pickInfo){
/**
* 自提
*/
@SuppressWarnings("unchecked")
public ResultInfo selfPick(OutpropApplyPickInfo pickInfo) {
//提货方式(0:本人自提;1:委托自提;2:物流;3:转赵涌在线;4:网点自提;5:网点委托)
String pickType = StringUtils.isBlank(pickInfo.getDelegateName()) ? "0" : "1";
String pickDate = pickInfo.getPickDate();
String warehousePickDate = pickInfo.getPickDate();
OutpropApplyInfo applyInfo = new OutpropApplyInfo();
ClientInfo clientInfo = clientInfoDao.queryByClientId(ActionUtil.getUser().getUserId());
ResultInfo resultInfo = null;
String warehouseCode = pickInfo.getWarehouseCode();
HttpSession session = ActionUtil.getRequest().getSession();
if ("1".equals(pickType)) {
if (StringUtils.isBlank(pickInfo.getDelegateId())) {
return new ResultInfo(0, "委托人证件号码不能为空");
......@@ -114,28 +114,69 @@ public class PickBiz {
if (StringUtils.isBlank(pickInfo.getDelegateName())) {
return new ResultInfo(0, "委托人姓名不能为空");
}
applyInfo.setPickingName(pickInfo.getDelegateName());
applyInfo.setIdNo(pickInfo.getDelegateId());
} else {
applyInfo.setPickingName(clientInfo.getClientName());
}
/* resultInfo = this.checkPickTime(9, 16);
if (resultInfo.getCode() == 0) {
return resultInfo;
}*/
if (StringUtils.isNotBlank(warehouseCode)) {
WarehouseInfo warehouse = warehouseDao.queryByCode(warehouseCode);
//Integer startHour = warehouseBiz.getHour(warehouse.getBusinessStartTime());
//Integer endHour = warehouseBiz.getHour(warehouse.getBusinessEndTime());
String pickAddress = warehouse.getProvince() + warehouse.getCity() + warehouse.getArea()
+ warehouse.getAddress();
warehouse = warehouseBiz.parseWarehouseTime(warehouse);
warehousePickDate += " " + warehouse.getBusinessStartTime();
warehousePickDate += "-" + warehouse.getBusinessEndTime();
//resultInfo = this.checkPickTime(startHour, endHour);
applyInfo.setPickingAddress(pickAddress);
pickType = StringUtils.isBlank(pickInfo.getDelegateName()) ? "4" : "5";
}
String pickDate = pickInfo.getPickDate();
if (StringUtils.isBlank(pickDate)) {
return new ResultInfo(0, "提货日期不能为空");
}
return new ResultInfo(-1,"");
pickDate = this.createPickDate(pickDate);
pickInfo.setPickDate(pickDate);
pickInfo.setPickType(pickType);
pickInfo.setInsurance(0);
//提货详细信息
applyInfo.setPickType("01");
applyInfo.setPhoneCode(clientInfo.getMobileTel());
resultInfo = this.pick(pickInfo, applyInfo);
if (resultInfo.getCode() != 0) {
if (StringUtils.isBlank(warehouseCode)) {
warehousePickDate += " 9:00-16:00";
} else {
List<OutpropApplyInfo> applyList = (List<OutpropApplyInfo>) session
.getAttribute("applyList");
this.updateInventory(applyList, warehouseCode);
}
pickInfo.setPickDate(warehousePickDate);
if ("0".equals(pickInfo.getPickType()) || "4".equals(pickInfo.getPickType())) {
pickInfo.setPickType("本人自提");
} else {
pickInfo.setPickType("委托自提");
}
}
return resultInfo;
}
/**
* 自提
*/
@SuppressWarnings("unchecked")
public ResultInfo selfPick(OutpropApplyPickInfo pickInfo) {
public ResultInfo selfPickNew(OutpropApplyPickInfo pickInfo) {
//提货方式(0:本人自提;1:委托自提;2:物流;3:转赵涌在线;4:网点自提;5:网点委托)
String pickType = StringUtils.isBlank(pickInfo.getDelegateName()) ? "0" : "1";
String pickDate = pickInfo.getPickDate();
String warehousePickDate = pickInfo.getPickDate();
OutpropApplyInfo applyInfo = new OutpropApplyInfo();
ClientInfo clientInfo = clientInfoDao.queryByClientId(ActionUtil.getUser().getUserId());
ClientInfo clientInfo = clientInfoDao.queryByClientId(pickInfo.getClientId());
ResultInfo resultInfo = null;
String warehouseCode = pickInfo.getWarehouseCode();
HttpSession session = ActionUtil.getRequest().getSession();
if ("1".equals(pickType)) {
if (StringUtils.isBlank(pickInfo.getDelegateId())) {
......@@ -182,8 +223,8 @@ public class PickBiz {
if (StringUtils.isBlank(warehouseCode)) {
warehousePickDate += " 9:00-16:00";
} else {
List<OutpropApplyInfo> applyList = (List<OutpropApplyInfo>) session
.getAttribute("applyList");
List<PickPackInfo> list = pickPackDao.queryUserPosition(pickInfo.getClientId());
List<OutpropApplyInfo> applyList = getList(list);
this.updateInventory(applyList, warehouseCode);
}
pickInfo.setPickDate(warehousePickDate);
......@@ -219,11 +260,10 @@ public class PickBiz {
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(def);
try{
HttpSession session = ActionUtil.getRequest().getSession();
UserAddressInfo addressInfo = userAddressDao.queryById(addressId);
OutpropApplyInfo applyInfo = new OutpropApplyInfo();
String pickDate = this.createPickDate("");
String pack = (String) session.getAttribute("pack"); //0:普通自提;1:封装自提
String pack = pickInfo.getCreateTime(); //0:普通自提;1:封装自提
if (addressInfo == null) {
return new ResultInfo(0, "收货地址不存在");
......@@ -258,6 +298,63 @@ public class PickBiz {
return resultInfo;
}
public ResultInfo expressPickNew(OutpropApplyPickInfo pickInfo) {
// ResultInfo resultInfo = this.checkPickTime(9, 16);
/* if (resultInfo.getCode() == 0) {
return resultInfo;
}*/
ResultInfo resultInfo;
if (pickInfo.getInsuranceType() == null) {
return new ResultInfo(0, "请选择投保方式");
}
if (pickInfo.getInsuranceType() == 1) {
if (pickInfo.getInsurance() == null || pickInfo.getInsurance() < 1000) {
return new ResultInfo(0, "投保金额不能低于1000元");
}
}
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(def);
try{
UserAddressInfo addressInfo = userAddressDao.queryById(Integer.parseInt(pickInfo.getCreateDate()));
OutpropApplyInfo applyInfo = new OutpropApplyInfo();
String pickDate = this.createPickDate("");
String pack = pickInfo.getCreateTime(); //0:普通自提;1:封装自提
if (addressInfo == null) {
return new ResultInfo(0, "收货地址不存在");
}
//提货详细信息
applyInfo.setPickType("02");
applyInfo.setPhoneCode(addressInfo.getMobileNo());
applyInfo.setExpressAddress(addressInfo.getAddress());
applyInfo.setPickingName(addressInfo.getUserName());
pickInfo.setPickType("2");
pickInfo.setPickDate(pickDate);
//普通自提时检查是否需要合并取货单
if ("0".equals(pack)) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("pickingName", addressInfo.getUserName());
params.put("expressAddress", addressInfo.getAddress());
params.put("phoneCode", addressInfo.getMobileNo());
params.put("initDate", DateUtil.getNow(DateEnum.UNSIGNED_DATE));
List<OutpropApplyInfo> beforeApplys = outpropApplyDao.search(params);
if (!beforeApplys.isEmpty()) {
pickInfo.setPickNo(beforeApplys.get(0).getOpStation());
pickInfo.setMerge(true);
}
}
resultInfo = this.pickNew(pickInfo, applyInfo);
transactionManager.commit(status);
}catch (Exception e){
transactionManager.rollback(status);
return new ResultInfo(0, "数据异常,请联系客服!");
}
return resultInfo;
}
public ResultInfo zhaoonlinePickNew(OutpropApplyPickInfo pickInfo){
try {
zhaoonlineBiz.checkZhaoonlineId(pickInfo.getZhaoonlineId());
......@@ -396,6 +493,103 @@ public class PickBiz {
return resultInfo;
}
@SuppressWarnings("unchecked")
public ResultInfo pickNew(OutpropApplyPickInfo pickInfo, OutpropApplyInfo applyInfo) {
UserInfo user = new UserInfo();
user.setClient_id(pickInfo.getClientId());
List<PickPackInfo> list = pickPackDao.queryUserPosition(pickInfo.getClientId());
List<OutpropApplyInfo> applyList = getList(list);
Map<String, T2Result> resultMap = new HashMap<String, T2Result>();
Integer pickAmount = 0;
ResultInfo resultInfo = this.validNew(applyList, pickInfo, user);
String pickNo = pickInfo.getPickNo();
int successAmount = 0;
String pack = pickInfo.getCreateTime(); //0:普通自提;1:封装自提
if (resultInfo.getCode() == 0) {
return resultInfo;
}
if (!pickInfo.isMerge()) {
pickNo = this.createPickNo();
}
applyInfo.setOpStation(pickNo);
for (OutpropApplyInfo apply : applyList) {
apply.setOpStation(pickNo);
applyInfo.setOtcCode(apply.getOtcCode());
applyInfo.setOtcName(apply.getOtcName());
applyInfo.setOccurAmount(apply.getOccurAmount());
applyInfo.setPickingDate(pickInfo.getPickDate());
T2Result t2Result = pickServiceSelf(user, applyInfo);
apply.setResultCode(t2Result.getCode());
resultMap.put(apply.getOtcCode(), t2Result);
pickAmount += apply.getOccurAmount();
applyInfo.setOpStation(pickNo);
pickPackDao.insertPick(this.compent(applyInfo));
if (t2Result.getCode() == 0) {
successAmount++;
//修改提货封装费用
if ("1".equals(pack)) {
outpropApplyDao.updateApply(apply);
}
}
}
if (successAmount > 0) {
pickInfo.setClientId(user.getClient_id());
pickInfo.setPickNo(pickNo);
pickInfo.setPickAmount(pickAmount);
pickInfo.setCreateDate(DateUtil.getNow(DateEnum.UNSIGNED_DATE));
pickInfo.setCreateTime(DateUtil.getNow(DateEnum.UNSIGNED_TIME));
pickInfo.setPickDate(DateUtil.getNow(DateEnum.UNSIGNED_DATE));
if (pickInfo.getInsurance() == null) {
pickInfo.setInsurance(0);
}
if (!pickInfo.isMerge()) {
pickDao.save(pickInfo);
}
//提货接口默认记录当前用户身份证号码,所以修改为委托人身份证号码
if (StringUtils.isNotBlank(pickInfo.getDelegateId())) {
outpropApplyDao.updateIdNo(applyInfo);
}
}
resultInfo = this.pickResult(resultMap, pickNo);
if (resultInfo.getCode() == 0) {
return resultInfo;
}
String userId = pickInfo.getClientId();
Map<String, Object> balance = pickPackDao.queryUserFundAccount(userId);//fundBiz.balance(userId);
Double enableBalance = 0.00;
if(balance!=null && balance.get("enable_balance") != null){
enableBalance = Double.valueOf(balance.get("enable_balance").toString());
}
//普通物流提货,收取6元物流包装费
if ("0".equals(pack) && "2".equals(pickInfo.getPickType())) {
if (pickInfo.isMerge()) {
pickDao.mergeOrder(pickInfo);
} else {
if(enableBalance >= 6){
//收取6元物流包装费
T2Result result = this.subtractSysFund(pickInfo.getPickNo(),
ConstInfo.Fund.USER_PICK, user.getClient_id(), -6.0,
ConstInfo.Fund.USER_PICK_REMARK);
log.info("收取提货包装费[" + pickInfo.getPickNo() + "]:" + result);
}
}
}
//封装提货,收取费用
if ("1".equals(pack)) {
if(enableBalance >= pickInfo.getAmountFee()){
T2Result result = this.subtractSysFund(pickInfo.getPickNo(),
ConstInfo.Fund.USER_PICK, user.getClient_id(), -pickInfo.getAmountFee(),
ConstInfo.Fund.USER_PICK_REMARK);
log.info("收取提货包装费[" + pickInfo.getPickNo() + "]:" + result);
}
}
return resultInfo;
}
private Map<String,Object> compent(OutpropApplyInfo apply){
Map<String,Object> dbPickInfo = new HashMap<String, Object>();
dbPickInfo.put("initDate",DateUtil.getNow(DateEnum.UNSIGNED_DATE));
......@@ -515,6 +709,84 @@ public class PickBiz {
return new ResultInfo(1, "");
}
/**提货数量验证*/
private ResultInfo validNew(List<OutpropApplyInfo> applyList, OutpropApplyPickInfo pickInfo,
UserInfo user) {
if (applyList == null || applyList.isEmpty()) {
return new ResultInfo(0, "提货列表不能为空");
}
T2Result result = positionBiz.positionSelf(user);
List<Map<String, Object>> positions = result.getData();
List<InventoryInfo> inventories = new ArrayList<InventoryInfo>();
String message;
if (StringUtils.isNotBlank(pickInfo.getWarehouseCode())) {
inventoryDao.queryByWarehouseCode(pickInfo.getWarehouseCode());
}
//验证可提数量
for (OutpropApplyInfo apply : applyList) {
for (Map<String, Object> position : positions) {
String otcCode = position.get("otc_code").toString();
if (!StringUtils.equals(apply.getOtcCode(), otcCode)) {
continue;
}
Integer enableAmount = Double.valueOf(position.get("enable_amount").toString())
.intValue();
if (enableAmount < apply.getOccurAmount()) {
message = "提货失败:藏品[" + otcCode + "]可用数量为" + enableAmount + ",请重新输入提货数量";
return new ResultInfo(0, message);
}
}
//网点自提
for (InventoryInfo inventory : inventories) {
if (!StringUtils.equals(apply.getOtcCode(), inventory.getOtcCode())) {
continue;
}
if (inventory.getUsefulAmount() < apply.getOccurAmount()) {
message = "提货失败:藏品[" + inventory.getOtcCode() + "]可用数量为"
+ inventory.getUsefulAmount() + ",请重新输入提货数量";
return new ResultInfo(0, message);
}
}
}
//验证资金
String pack = pickInfo.getCreateTime(); //0:普通自提;1:封装自提
double totalFee = 0;
String userId = pickInfo.getClientId();
Map<String, Object> balance = pickPackDao.queryUserFundAccount(userId);//fundBiz.balance(userId);
Double enableBalance = 0.00;
if(balance!=null && balance.get("enable_balance") != null){
enableBalance = Double.valueOf(balance.get("enable_balance").toString());
}
//封装提货
if ("1".equals(pack)) {
Integer packageId = 0;//todo 封装提货参数待验证
PickPackageInfo pickPackageInfo = pickPackageDao.queryById(packageId);
if (pickPackageInfo != null) {
totalFee = pickPackageInfo.getPackageFee();
pickInfo.setPackageFee(pickPackageInfo.getPackageFee());
pickInfo.setPackageType(pickPackageInfo.getPackageName());
} else {
pickInfo.setPackageFee(0.0);
pickInfo.setPackageType("无需包装");
}
for (OutpropApplyInfo apply : applyList) {
totalFee += apply.getPackFee() * apply.getOccurAmount();
}
}
//物流包装费6元
if ("2".equals(pickInfo.getPickType())) {
pickInfo.setExpressPackFee(6.0);
totalFee += 6;
}
pickInfo.setAmountFee(totalFee);
/* if (enableBalance < totalFee) {
return new ResultInfo(0, "账户可用余额少于" + totalFee + "元,无法支付提货费用");
}*/
return new ResultInfo(1, "");
}
/**
* 提货接口
* @param user
......@@ -645,4 +917,20 @@ public class PickBiz {
}
}
}
private List<OutpropApplyInfo> getList(List<PickPackInfo> list){
List<OutpropApplyInfo> applyList = new ArrayList<OutpropApplyInfo>();
for (PickPackInfo item : list){
if (item.getCurrentAmount()>0){
OutpropApplyInfo info = new OutpropApplyInfo();
info.setOtcCode(item.getOtcCode());
info.setOtcName(item.getOtcName());
info.setOccurAmount(item.getCurrentAmount());
info.setEnableAmount(item.getCurrentAmount());
applyList.add(info);
}
}
return applyList;
}
}
......
......@@ -51,8 +51,10 @@ public class PickPayBiz {
List<PickPackInfo> applyList = pickPackDao.queryUserPosition(userId);
int pickTotal = 0;
for (PickPackInfo apply : applyList) {
if (apply.getCurrentAmount() > 0) {
pickTotal += apply.getCurrentAmount();
}
}
// BigDecimal totalAmount = new BigDecimal("0.01").multiply(new BigDecimal(DateUtil.getTrustCycle())).
// multiply(new BigDecimal(pickTotal)).add(new BigDecimal("6"));
BigDecimal totalAmount = new BigDecimal("0.01");//调试接口代码写死
......@@ -66,6 +68,7 @@ public class PickPayBiz {
createQrCode.setBillDate(DateUtil.getNow(DateEnum.DATE));
//此处拼接提货信息
OutpropApplyPickInfo pickInfo = (OutpropApplyPickInfo) session.getAttribute("pickInfo");
pickInfo.setCreateTime((String) session.getAttribute("pack"));//将提货方式放入createTime属性里
createQrCode.setSrcReserve(JsonUtil.toJsonRemoveNull(pickInfo));
@SuppressWarnings("unchecked")
Map<String, String> mapTypes = JsonUtil.fromJson(JsonUtil.toJson(createQrCode), Map.class);
......@@ -91,20 +94,22 @@ public class PickPayBiz {
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(def);
try {
OutpropApplyPayInfo info = outpropApplyPayDao.selectByTradeNo(result.get("billNo"));
String tradeNo = result.get("billNo");
OutpropApplyPayInfo info = outpropApplyPayDao.selectByTradeNo(tradeNo);
if (!info.getStatus().equals("2")) {
OutpropApplyPayInfo update = new OutpropApplyPayInfo();
update.setTradeNo(result.get("srcReserve"));
update.setTradeNo(tradeNo);
update.setStatus("2");
outpropApplyPayDao.update(update);
OutpropApplyPickInfo pickInfo = JsonUtil.fromJson(result.get("srcReserve"), OutpropApplyPickInfo.class);
pickInfo.setClientId(info.getClientId());
if ("0".equals(pickInfo.getPickType()) || "1".equals(pickInfo.getPickType())) {
pickBiz.selfPick(pickInfo);
pickBiz.selfPickNew(pickInfo);
} else if ("2".equals(pickInfo.getPickType())) {
pickBiz.expressPick(pickInfo, Integer.parseInt(pickInfo.getCreateDate()));
pickBiz.expressPickNew(pickInfo);
} else if ("3".equals(pickInfo.getPickType())) {
pickBiz.zhaoonlinePick(pickInfo);
pickBiz.zhaoonlinePickNew(pickInfo);
}
}
transactionManager.commit(status);
......
package com.cjs.site.util.union;
import com.cjs.site.model.union.CreateQrCode;
import com.cjs.site.model.union.UnionResponse;
import com.cjs.site.util.lang.DateEnum;
import com.cjs.site.util.lang.DateUtil;
import com.cjs.site.util.lang.JsonUtil;
......@@ -9,6 +7,7 @@ import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
......@@ -79,7 +78,7 @@ public class UnionPayUtil {
}
}
/* public static Map<String, String> getRequestParams(HttpServletRequest request) {
public static Map<String, String> getRequestParams(HttpServletRequest request) {
Map<String, String[]> params = request.getParameterMap();
Map<String, String> params2 = new HashMap<String, String>();
for (String key : params.keySet()) {
......@@ -89,22 +88,6 @@ public class UnionPayUtil {
}
}
return params2;
}*/
@SuppressWarnings("unchecked")
public static void main(String[] args) {
CreateQrCode createQrCode = new CreateQrCode();
createQrCode.setQrCodeId(getQrCodeId());
createQrCode.setBillNo(createQrCode.getQrCodeId());
createQrCode.setTotalAmount("1");
createQrCode.setRequestTimestamp(DateUtil.getNow());
createQrCode.setBillDate(DateUtil.getNow(DateEnum.DATE));
createQrCode.setSrcReserve("201905140001");
Map<String, String> mapTypes = JsonUtil.fromJson(JsonUtil.toJson(createQrCode), Map.class);
String json = sendPost(UnionConstants.CREATE_ORDER, mapTypes);
UnionResponse response = JsonUtil.fromJson(json, UnionResponse.class);
System.out.println(createQrCode.getQrCodeId());
System.out.println(JsonUtil.toJson(response));
}
public static String sendPost(String url, Map<String, String> data) {
......
......@@ -30,7 +30,7 @@
</select>
<update id="update" parameterType="OutpropApplyPayInfo">
UPDATE HS_ASSET.OUTPROPAPPLY_PAY SET STATUS = #{status}, UPDATED_AT = NOW()
UPDATE HS_ASSET.OUTPROPAPPLY_PAY SET STATUS = #{status}, PAY_AT = TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')
WHERE TRADE_NO = #{tradeNo}
</update>
......