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) {
......
......@@ -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>
......