From eec7e789a87863c25d92c10ad5dfc22ad80c448d Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 14 七月 2020 12:36:48 +0800 Subject: [PATCH] 系统区分BUG修复 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java | 234 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 159 insertions(+), 75 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..8c6a765 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,7 +8,6 @@ import java.util.List; import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,6 +24,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; @@ -33,14 +33,12 @@ import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.system.ConfigKeyEnum; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.exception.taobao.TaoKeApiException; -import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.exception.user.cloud.UserCloudException; import com.yeshi.fanli.exception.user.cloud.UserCloudGroupException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; +import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.cloud.UserCloudGoodsService; @@ -50,13 +48,17 @@ 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; +import com.yeshi.fanli.util.annotation.RequestSerializableByKey; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; 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.homemodule.BannerVO; +import com.yeshi.fanli.vo.user.cloud.CloudOrderMenuVO; import com.yeshi.fanli.vo.user.cloud.UserCloudInfoVO; import net.sf.json.JSONArray; @@ -95,6 +97,12 @@ @Resource private ConfigService configService; + + @Resource + private RedisManager redisManager; + + @Resource + private SwiperPictureService swiperPictureService; /** * 鏌ヨ寮�閫氳褰� @@ -173,11 +181,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) { @@ -221,7 +242,15 @@ } } } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(cloudInfoVO)); + + // 鏁欑▼ + List<BannerVO> listBanner = swiperPictureService.getByBannerCard("cloud_course",acceptData.getSystem()); + if (listBanner != null && listBanner.size() > 0) { + cloudInfoVO.setCourse(listBanner.get(0)); + } + GsonBuilder gsonBuilder = new GsonBuilder(); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(gsonBuilder.create().toJson(cloudInfoVO))); } /** @@ -232,6 +261,7 @@ * @param uid * @param out */ + @RequestSerializableByKey(key = "'getQrcodeMaclogin-'+#uid") @RequestMapping(value = "getQrcodeMaclogin") public void getQrcodeMaclogin(String callback, AcceptData acceptData, Long uid, PrintWriter out) { if (uid == null) { @@ -376,7 +406,7 @@ * @param out */ @RequestMapping(value = "switchCircleState") - public void switchCircleState(String callback, AcceptData acceptData, Long uid, Boolean state, PrintWriter out) { + public void switchCircleState(String callback, AcceptData acceptData, Long uid, Integer state, PrintWriter out) { if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; @@ -385,8 +415,14 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐘舵�佷笉鑳戒负绌�")); return; } + + boolean reslut = false; + if (state == 1) { + reslut = true; + } + try { - userCloudGroupService.switchCircleState(uid, state); + userCloudGroupService.switchCircleState(uid, reslut); } catch (UserCloudGroupException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); } @@ -409,6 +445,12 @@ return; } + UserCloud userCloud = userCloudService.getValidByUid(uid); + if (userCloud == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "璇峰厛寮�閫氫簯鍙戝崟")); + return; + } + try { // 閲嶆柊鑾峰彇缇ゅ垪琛� userCloudService.searchGroup(uid); @@ -435,7 +477,7 @@ * @param out */ @RequestMapping(value = "switchGroupState") - public void switchGroupState(String callback, AcceptData acceptData, Long uid, Long id, Boolean state, + public void switchGroupState(String callback, AcceptData acceptData, Long uid, Long id, Integer state, PrintWriter out) { if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); @@ -445,12 +487,68 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶈兘涓虹┖")); return; } + + UserCloud userCloud = userCloudService.getValidByUid(uid); + if (userCloud == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "璇峰厛寮�閫氫簯鍙戝崟")); + return; + } + + boolean reslut = false; + if (state == 1) { + reslut = true; + } + try { - userCloudGroupService.switchGroupState(uid, id, state); + + + userCloudGroupService.switchGroupState(uid, id, reslut); + // 鑾峰彇鏈�鏂扮兢 + List<UserCloudGroup> list = userCloudGroupService.listGroupByUid(uid); + if (list == null) + list = new ArrayList<>(); + + JSONObject data = new JSONObject(); + data.put("listGroup", list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (UserCloudGroupException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } + + + + /** + * 璁剧疆鐘舵�� + * + * @param callback + * @param acceptData + * @param uid + * @param type + * @param out + */ + @RequestMapping(value = "deleteGroup") + public void switchGroupState(String callback, AcceptData acceptData, Long uid, Long id, + PrintWriter out) { + if (uid == null || id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); + return; + } + + try { + userCloudGroupService.deleteGroup(uid, id); + + // 鑾峰彇鏈�鏂扮兢 + List<UserCloudGroup> list = userCloudGroupService.listGroupByUid(uid); + if (list == null) + list = new ArrayList<>(); + + JSONObject data = new JSONObject(); + data.put("listGroup", list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (UserCloudGroupException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } } /** @@ -480,52 +578,15 @@ JSONArray array = new JSONArray(); JSONObject data = new JSONObject(); if (list.size() > 0) { - List<Long> listGid = new ArrayList<Long>(); - for (UserCloudGoods cloudGoods : list) { - CommonGoods commonGoods = cloudGoods.getCommonGoods(); - if (commonGoods == null) { - continue; - } - listGid.add(commonGoods.getGoodsId()); - } - - // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭 - List<TaoBaoGoodsBrief> listTaoKeGoods = null; - try { - listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + acceptData.getVersion(),acceptData.getSystem()); for (UserCloudGoods cloudGoods : list) { CommonGoods commonGoods = cloudGoods.getCommonGoods(); if (commonGoods == null) { continue; - } - - // 娣樺疂鍟嗗搧楠岃瘉鍦ㄥ敭 - if (commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) { - int state = 1; // 榛樿鍋滃敭 - Long goodsId = commonGoods.getGoodsId(); - for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) { - Long auctionId = taoKeGoods.getAuctionId(); - if (goodsId == auctionId || goodsId.equals(auctionId)) { - state = 0; // 鍦ㄥ敭 - break; - } - } - commonGoods.setState(state); - } } // 鍒ゆ柇鏄惁宸插垎浜紝 宸插垎浜樉绀哄凡涓嬫灦 @@ -536,7 +597,11 @@ commonGoods.setState(2); } } - + + if (state != null && state == UserCloudGoods.STATE_INVALID) { + commonGoods.setState(1); + } + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO); detailVO.setId(commonGoods.getId()); @@ -602,18 +667,26 @@ * @param out */ @RequestMapping(value = "switchState") - public void switchState(String callback, AcceptData acceptData, Long uid, Integer type, Boolean state, + public void switchState(String callback, AcceptData acceptData, Long uid, Integer type, Integer state, PrintWriter out) { - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + if (uid == null || type == null || state == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); return; } - if (type == 1) { - userCloudManageService.save(uid, state, null); - } else { - userCloudManageService.save(uid, null, state); + + boolean reslut = false; + if (state == 1) { + reslut = true; } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + + if (type == 1) { + userCloudManageService.save(uid, reslut, null); + } else { + userCloudManageService.save(uid, null, reslut); + } + JSONObject data = new JSONObject(); + data.put("state", reslut); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } /** @@ -627,8 +700,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,38 +715,50 @@ // 鍒涘缓鏀粯淇℃伅 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); + + String link = configService.getValue(ConfigKeyEnum.cloudAlipayJumpLink.getKey(),acceptData.getSystem()) +"?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, "鍙傛暟淇℃伅缂哄け")); + public void payEnd(String callback, AcceptData acceptData, Long uid, Long id, PrintWriter out) { + if (uid == null || id == null) { + out.print(JsonUtil.loadFalseResult(1, "鍙傛暟淇℃伅缂哄け")); return; } + try { + // 妫�娴嬫槸鍚︽敮浠樺畬鎴� userCloudAlipayManager.tradeQueryByOrderId(id); + + UserCloudOrder cloudOrder = userCloudOrderService.selectByPrimaryKey(id); + JSONObject dataObject = new JSONObject(); + dataObject.put("money", cloudOrder.getMoney()); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dataObject)); } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "妫�娴嬪け璐�")); + out.print(JsonUtil.loadFalseResult(1, "鍥炶皟淇℃伅澶辫触")); LogHelper.errorDetailInfo(e); } } @@ -700,7 +784,7 @@ } catch (UserCloudException e) { if (e.getCode() > 1000 && e.getCode() < 1100) { JSONObject data = new JSONObject(); - data.put("link", configService.get(ConfigKeyEnum.robotCloudLink.getKey())); + data.put("link", configService.getValue(ConfigKeyEnum.robotCloudLink.getKey(),acceptData.getSystem())); JsonUtil.printMode(out, callback, JsonUtil.loadTrue(e.getCode(), data, e.getMsg()).toString()); } else { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg())); @@ -726,7 +810,7 @@ } try { - GoodsEvaluate evaluate = goodsEvaluateService.queryExistSingle(goodsId, goodsType); + GoodsEvaluate evaluate = goodsEvaluateService.queryExistSingle(goodsId, goodsType,acceptData.getSystem()); if (evaluate != null) { userCloudService.sendByDynamic(uid, evaluate.getId()); } else { @@ -746,7 +830,7 @@ } catch (UserCloudException e) { if (e.getCode() > 1000 && e.getCode() < 1100) { JSONObject data = new JSONObject(); - data.put("link", configService.get(ConfigKeyEnum.robotCloudLink.getKey())); + data.put("link", configService.getValue(ConfigKeyEnum.robotCloudLink.getKey(),acceptData.getSystem())); JsonUtil.printMode(out, callback, JsonUtil.loadTrue(e.getCode(), data, e.getMsg()).toString()); } else { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg())); -- Gitblit v1.8.0