From f6d57d47a19b2c13f78951ad078ca1786b8471fa Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 10 六月 2020 12:18:52 +0800 Subject: [PATCH] 云发单支付 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java | 67 ++++++++++++++++++--------------- 1 files changed, 37 insertions(+), 30 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java index 916f4ae..3ced83e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java @@ -8,6 +8,7 @@ import java.util.List; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; @@ -25,6 +26,7 @@ import com.yeshi.fanli.dto.aitaoker.QrcodeLoginDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.cloud.CloudOrderMenuEnum; import com.yeshi.fanli.entity.bus.user.cloud.UserCloud; import com.yeshi.fanli.entity.bus.user.cloud.UserCloudGoods; import com.yeshi.fanli.entity.bus.user.cloud.UserCloudGroup; @@ -50,6 +52,8 @@ import com.yeshi.fanli.service.inter.user.cloud.UserCloudService; import com.yeshi.fanli.service.manger.alipay.UserCloudAlipayManager; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.RedisKeyEnum; +import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.aitaoker.AitaokerApiUtil; @@ -57,6 +61,7 @@ import com.yeshi.fanli.util.suning.SuningUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.goods.GoodsDetailVO; +import com.yeshi.fanli.vo.user.cloud.CloudOrderMenuVO; import com.yeshi.fanli.vo.user.cloud.UserCloudInfoVO; import net.sf.json.JSONArray; @@ -95,6 +100,10 @@ @Resource private ConfigService configService; + + @Resource + private RedisManager redisManager; + /** * 鏌ヨ寮�閫氳褰� @@ -173,11 +182,24 @@ return; } + List<CloudOrderMenuVO> listMenu = new ArrayList<>(); + CloudOrderMenuEnum[] menus = CloudOrderMenuEnum.values(); + for (CloudOrderMenuEnum menuEnum: menus) { + CloudOrderMenuVO menuVO = new CloudOrderMenuVO(); + menuVO.setMoney(BigDecimal.valueOf(menuEnum.getMoney()) ); + menuVO.setType(menuEnum.name()); + menuVO.setDesc(menuEnum.getDescShow()); + listMenu.add(menuVO); + } + + UserCloudInfoVO cloudInfoVO = new UserCloudInfoVO(); cloudInfoVO.setNickName(userInfo.getNickName()); cloudInfoVO.setPortrait(userInfo.getPortrait()); cloudInfoVO.setOpenState(0); // 鏈紑閫� - + cloudInfoVO.setListMenu(listMenu); + + // 鏄惁寮�閫� UserCloud userCloud = userCloudService.getLastByUid(uid); if (userCloud == null) { @@ -627,8 +649,7 @@ * @param out */ @RequestMapping(value = "pay") - public void pay(String callback, AcceptData acceptData, Long uid, String type, HttpServletResponse response, - PrintWriter out) { + public void pay(String callback, AcceptData acceptData, Long uid, String type, PrintWriter out) { try { if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); @@ -643,42 +664,28 @@ // 鍒涘缓鏀粯淇℃伅 String alipayForm = userCloudAlipayManager.getAlipayForm(uid, type); - // 杩斿洖淇℃伅 - response.setContentType("text/html;charset=utf-8"); - PrintWriter print = response.getWriter(); + // 杩斿洖淇℃伅 - 缂撳瓨鍒皊ession StringBuilder builder = new StringBuilder(); builder.append("<html><head><title>alipay</title></head>"); builder.append("<body>" + alipayForm + "</body></html>"); - JsonUtil.printMode(print, callback, builder.toString()); - print.close(); + + // 缂撳瓨鍒皉edis- 涓�鍒嗛挓 + String key = RedisKeyEnum.cloudAlipayLink.getKey() + uid + "_" + type; + key = StringUtil.Md5(key); + redisManager.cacheCommonString(key , builder.toString() , 60*10); + + System.out.println(builder.toString()); + + String link = "http://192.168.1.200:8008/fanli/client/v1/cloud/callback/payUrl?key=%s"; + JSONObject dataObject = new JSONObject(); + dataObject.put("link", String.format(link, key)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dataObject)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍒涘缓鏀粯淇℃伅澶辫触")); LogHelper.errorDetailInfo(e); } } - /** - * 鏀粯瀹屾垚 - * - * @param callback - * @param acceptData - * @param id - * @param out - */ - @RequestMapping(value = "payEnd") - public void payEnd(String callback, AcceptData acceptData, Long id, PrintWriter out) { - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟淇℃伅缂哄け")); - return; - } - try { - userCloudAlipayManager.tradeQueryByOrderId(id); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "妫�娴嬪け璐�")); - LogHelper.errorDetailInfo(e); - } - } - /** * 鍔ㄦ�佷竴閿彂鍗� -- Gitblit v1.8.0