From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 六月 2020 19:26:26 +0800 Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java | 100 +++++++++++++++++++++++++++++++------------------ 1 files changed, 63 insertions(+), 37 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java index 2df9620..168319d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java @@ -21,6 +21,7 @@ import com.yeshi.fanli.dto.push.PushContentDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.Extract; +import com.yeshi.fanli.entity.bus.user.PayInfo; import com.yeshi.fanli.entity.bus.user.PreviewInfo; import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum; import com.yeshi.fanli.entity.bus.user.UserInfo; @@ -35,6 +36,7 @@ import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService; import com.yeshi.fanli.service.inter.push.PushService; +import com.yeshi.fanli.service.inter.user.PayInfoService; import com.yeshi.fanli.service.inter.user.PreviewInfoService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.Constant; @@ -61,24 +63,25 @@ @Resource private RedisManager redisManager; - + @Resource private HongBaoV2CountService hongBaoV2CountService; - + @Resource private UserMoneyDetailService userMoneyDetailService; - + @Resource private OrderMoneyDailyCountService orderMoneyDailyCountService; - + @Resource private CommonOrderService commonOrderService; - + @Resource private PushService pushService; - - + @Resource + private PayInfoService payInfoService; + /** * 淇濆瓨璧勯噾淇℃伅 * @@ -102,7 +105,6 @@ } } - @RequestMapping(value = "getMoneyInfo") public void getMoneyInfo(String callback, AcceptData acceptData, Long uid, PrintWriter out) { MoneyStatisticVO dto = null; @@ -222,7 +224,7 @@ vo.setMonthPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate))); return vo; } - + private MoneyPredictVO cratePredictVO(List<OrderMoneyDailyCount> list) { MoneyPredictVO predictVO = new MoneyPredictVO(); predictVO.setMineNum(0); @@ -248,7 +250,7 @@ predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); return predictVO; } - + /** * 淇濆瓨鎻愮幇璁板綍 * @@ -267,10 +269,10 @@ } try { previewInfoService.saveExtractRecord(uid, dayTime, money); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } catch (PreviewInfoException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } @RequestMapping(value = "getExtractRecord") @@ -279,14 +281,14 @@ PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.extractRecord); if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) { Gson gson = new Gson(); - list = gson.fromJson(previewInfo.getContent(), new TypeToken<ArrayList<Extract>>() {}.getType()); + list = gson.fromJson(previewInfo.getContent(), new TypeToken<ArrayList<Extract>>() { + }.getType()); } - + if (list == null) list = new ArrayList<>(); JSONArray JSONArray = new JSONArray(); - if (list.size() > 0) { for (Extract extract : list) { Date receiveTime = extract.getReceiveTime(); @@ -304,14 +306,13 @@ JSONArray.add(object); } } - JSONObject json = new JSONObject(); json.put("count", JSONArray.size()); json.put("list", JSONArray); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); } - + /** * 鍒犻櫎鎻愮幇璁板綍 * @@ -335,7 +336,7 @@ e.printStackTrace(); } } - + /** * 鍒犻櫎鎻愮幇璁板綍 * @@ -365,7 +366,7 @@ * @param out */ @RequestMapping(value = "saveMineInfo") - public void saveMineInfo(String callback, AcceptData acceptData, MineInfoVO infoVO, PrintWriter out) { + public void saveMineInfo(String callback, AcceptData acceptData, MineInfoVO infoVO, PrintWriter out) { if (infoVO == null || infoVO.getUid() == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; @@ -380,7 +381,7 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); } } - + @RequestMapping(value = "getMineInfo") public void getMineInfo(String callback, AcceptData acceptData, Long uid, PrintWriter out) { PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.mineInfo); @@ -388,9 +389,9 @@ if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) { dto = new Gson().fromJson(previewInfo.getContent(), MineInfoVO.class); } - + if (dto == null) - dto = new MineInfoVO(); + dto = new MineInfoVO(); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(dto))); } @@ -407,13 +408,17 @@ */ @RequestMapping(value = "saveMoneyArrival") public void saveMoneyArrival(String callback, AcceptData acceptData, Long uid, BigDecimal money, String dayTime, - String orderNo, PrintWriter out) { + PrintWriter out) { try { + // 鏌ヨ鏈�鏂颁竴鏉℃敮浠樺疂璁㈠崟鍙� + PayInfo payInfo = payInfoService.getNearInfo(); + String orderNo = getAlipayNo(payInfo.getOrderId()); + String link = previewInfoService.saveMoneyArrival(uid, money, dayTime, orderNo, acceptData.getPlatform()); JSONObject object = new JSONObject(); object.put("link", link); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); - } catch (PreviewInfoException e) { + } catch (PreviewInfoException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { LogHelper.errorDetailInfo(e); @@ -421,7 +426,16 @@ } } - + private String getAlipayNo(String payNo) { + // 鏇挎崲鍓�8浣� + String newNo = payNo.substring(9, payNo.length()); + newNo = TimeUtil.getyyyyMMdd(java.lang.System.currentTimeMillis()) + newNo; + // 闅忔満鐢熸垚鏇挎崲鍚�6浣� + newNo = newNo.substring(0, payNo.length() - 6); + newNo += (long) ((Math.random() * 9 + 1) * 100000); + return newNo; + } + @RequestMapping(value = "getMoneyArrivalImg") public void getMoneyArrivalImg(String callback, AcceptData acceptData, Long uid, PrintWriter out) { PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.moneyInfo); @@ -443,35 +457,40 @@ * @param out */ @RequestMapping(value = "saveOrderInfo") - public void saveOrderInfo(String callback, AcceptData acceptData, Long uid, Integer type, Integer num, PrintWriter out) { + public void saveOrderInfo(String callback, AcceptData acceptData, Long uid, Integer type, Integer num, + PrintWriter out) { if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } - + if (type == null || type < 1 || type > 2) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨璁㈠崟绫诲瀷")); return; } - + if (num == null || num <= 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰~鍐欐帹閫佹暟閲�")); return; } - + if (num > 50) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈�澶氭敮鎸�50鏉�")); return; } - + // 鑾峰彇鏈�鏂拌鍗曞彿 String orderNo = commonOrderService.getNewestOrderNoByTaoBao(); - + // 闅忔満璁㈠崟鍙� List<String> list = getRandomOrderNo(orderNo, num); - for (String orderId: list) { - PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(Constant.SOURCE_TYPE_TAOBAO, - orderId, BigDecimal.ZERO); + // new Thread(new Runnable() { + // + // @Override + // public void run() { + for (String orderId : list) { + PushContentDTO dto = PushMsgFactory.createInviteOrderStatisticed(Constant.SOURCE_TYPE_TAOBAO, orderId, + BigDecimal.ZERO); try { pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null); } catch (NumberFormatException e) { @@ -479,11 +498,18 @@ } catch (PushException e) { e.printStackTrace(); } + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } } + // } + // }).start(); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�")); } - - + private List<String> getRandomOrderNo(String orderNo, int count) { String newNo = orderNo.substring(0, 3); long lenth = orderNo.length() - 3; @@ -501,7 +527,7 @@ set.add(newNo + randomNum); } } - + // 杞崲list List<String> list = new ArrayList<>(); for (String s : set) { @@ -509,7 +535,7 @@ } // 鎺掑簭 Collections.sort(list); - + return list; } } -- Gitblit v1.8.0