From 21f49216736c547d99ec1dd46a24c6f43f852fc5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 05 十二月 2018 10:37:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java | 292 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 265 insertions(+), 27 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java index 9de8ac9..b77af65 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java @@ -4,6 +4,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Type; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -18,7 +19,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.yeshi.utils.BigDecimalUtil; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.IPUtil; import org.yeshi.utils.JsonUtil; @@ -35,7 +35,6 @@ import com.yeshi.fanli.entity.bus.user.AccountDetails; import com.yeshi.fanli.entity.bus.user.AccountMessage; import com.yeshi.fanli.entity.bus.user.BindingAccount; -import com.yeshi.fanli.entity.bus.user.CollectionGoods; import com.yeshi.fanli.entity.bus.user.Extract; import com.yeshi.fanli.entity.bus.user.ExtractRecord; import com.yeshi.fanli.entity.bus.user.HongBao; @@ -46,6 +45,8 @@ import com.yeshi.fanli.entity.bus.user.OrderItem; import com.yeshi.fanli.entity.bus.user.PassWordErrorRecord; import com.yeshi.fanli.entity.bus.user.SMSHistory; +import com.yeshi.fanli.entity.bus.user.ThreeSale; +import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo; import com.yeshi.fanli.entity.bus.user.UserActiveLog; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.WeiXinUser; @@ -54,13 +55,17 @@ import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; import com.yeshi.fanli.exception.BindingAccountException; import com.yeshi.fanli.exception.ObjectStateException; +import com.yeshi.fanli.exception.goods.CollectionGoodsException; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.goods.CollectionGoodsV2; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.SystemService; -import com.yeshi.fanli.service.inter.goods.CollectionGoodsService; +import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.hongbao.HongBaoMessageService; import com.yeshi.fanli.service.inter.hongbao.HongBaoService; +import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce; import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderItemServcie; @@ -133,6 +138,9 @@ private ThreeSaleSerivce threeSaleSerivce; @Resource + private ThreeSaleExtraInfoSerivce threeSaleExtraInfoSerivce; + + @Resource private LostOrderService lostOrderService; @Resource @@ -144,8 +152,6 @@ @Resource private AccountMessageService accountMessageService; - @Resource - private CollectionGoodsService collectionGoodsService; @Resource private HongBaoManageService hongBaoManageService; @@ -163,6 +169,9 @@ @Resource private UserActiveLogService userActiveLogService; + + @Resource + private CollectionGoodsV2Service collectionGoodsV2Service; private static final String PASSWORD_MAX_ERROR = "password_max_error"; private static final String EXTRACT_MIN_MONEY = "extract_min_money"; @@ -715,6 +724,7 @@ data.put("minMoney", minMoney); data.put("maxMoney", maxMoney); + data.put("maxDayCount", maxDayCount); data.put("bindingAccountList", gson.toJson(filterBindingAccount(bindingAccountList))); JSONObject alipayVerify = new JSONObject(); @@ -1412,24 +1422,32 @@ @RequestMapping("collectionGoods") public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, PrintWriter out) { - CollectionGoods find = collectionGoodsService.findByUidAndAuctionId(uid, auctionId); + CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId); if (type == 1) { if (find != null) { out.print(JsonUtil.loadFalseResult("")); return; } - CollectionGoods cg = TaoBaoUtil.getCollectionGoods(auctionId, new UserInfo(uid)); - collectionGoodsService.save(cg); - out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛")); - return; + try { + TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); + collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); + out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛")); + } catch (TaobaoGoodsDownException e) { + out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); + } catch (CollectionGoodsException e1) { + out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg())); + } } else { if (find == null) { out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); return; } else { - collectionGoodsService.delete(find); - out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); - return; + try { + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId); + out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); + } catch (CollectionGoodsException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } } } @@ -1452,37 +1470,51 @@ return; } - CollectionGoods find = collectionGoodsService.findByUidAndAuctionId(uid, auctionId); + CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId); if (find == null) { // 娣诲姞鏀惰棌 - CollectionGoods cg = TaoBaoUtil.getCollectionGoods(auctionId, new UserInfo(uid)); - collectionGoodsService.save(cg); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1)); + try { + TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); + collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1)); + } catch (TaobaoGoodsDownException e) { + JsonUtil.printMode(out, callback, (JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"))); + } catch (CollectionGoodsException e1) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg())); + } } else { // 鍙栨秷鏀惰棌 - collectionGoodsService.delete(find); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(0)); + try { + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); + } catch (CollectionGoodsException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } } } @RequestMapping("collectionGoodsList") public void collectionGoodsList(AcceptData acceptData, long uid, int page, PrintWriter out) { - List<CollectionGoods> coList = collectionGoodsService.findCollectionGoods(uid, page + 1); - int count = collectionGoodsService.getCount(uid); + + List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page + 1, + Constant.PAGE_SIZE); + + // List<CollectionGoods> coList = + // collectionGoodsService.findCollectionGoods(uid, page + 1); + long count = collectionGoodsV2Service.getCollectionGoodsCount(uid); JSONObject data = new JSONObject(); Map<String, String> map = hongBaoManageService.convertMap(); String proportion = map.get("hongbao_goods_proportion"); String fcRate = map.get("hongbao_fc_ratio"); List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>(); - coList.parallelStream().forEachOrdered(cg -> { - TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.getTaoBaoGoodsBrief(cg); + collectionGoodsList.parallelStream().forEachOrdered(cg -> { + TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(cg.getCommonGoods()); goodsBrief.setSalesCount(TaoBaoUtil.getSaleCount(goodsBrief.getBiz30day())); TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, fcRate, ""); - taoBaoGoodsBriefExtra.setCreatetime(new Date(cg.getCreateTime())); - + taoBaoGoodsBriefExtra.setCreatetime(cg.getCreateTime()); list.add(taoBaoGoodsBriefExtra); }); GsonBuilder builder = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() { @@ -1510,7 +1542,11 @@ } else { if (!StringUtil.isNullOrEmpty(ids)) { Arrays.asList(ids.split(",")).parallelStream().forEach(auctionIdStr -> { - collectionGoodsService.delete(Long.parseLong(auctionIdStr), uid); + try { + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr)); + } catch (Exception e) { + e.printStackTrace(); + } }); } } @@ -1519,7 +1555,12 @@ @RequestMapping("clearConllectionGoods") public void clearConllectionGoods(AcceptData acceptData, long uid, PrintWriter out) { - collectionGoodsService.clear(uid); + try { + collectionGoodsV2Service.cancelCollectionByUid(uid); + } catch (CollectionGoodsException e) { + e.printStackTrace(); + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage())); + } out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛")); } @@ -1583,4 +1624,201 @@ .loadTrueResult(String.format("%s?id=" + id, Constant.systemCommonConfig.getAppShareInfoUrl()))); } + /** + * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ 1.4.1 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "getMyTeam", method = RequestMethod.POST) + public void getMyTeam(AcceptData acceptData, long page, long uid, long type, PrintWriter out) { + + int pageSize = Constant.PAGE_SIZE; + + JSONObject resultData = new JSONObject(); + if (type == 1) { + resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid); + } else if (type == 2) { + resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid); + } + + // 瀹夊崜绯荤粺杩斿洖鎵�鏈夋暟鎹� + String platform = acceptData.getPlatform(); + if ("android".equalsIgnoreCase(platform)) { + long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1); + long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null); + + long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1); + long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null); + + JSONObject bossData = null; + ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid); + if (threeSale != null) { + bossData = new JSONObject(); + UserInfo boss = threeSale.getBoss(); + if (boss != null) { + bossData.put("nickName", boss.getNickName()); + bossData.put("portrait", boss.getPortrait()); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + Long createTime = threeSale.getCreateTime(); + Date inviteTime = new Date(createTime); + bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime)); + } + + String helpLink = configService.get("team_help_url"); + if (helpLink == null) { + helpLink = ""; + } + resultData.put("helpLink", helpLink); + resultData.put("firstTeam", firstTeam); + resultData.put("firstTeamTotal", firstTeamTotal); + resultData.put("secondTeam", secondTeam); + resultData.put("secondTeamTotal", secondTeamTotal); + resultData.put("boss", bossData); + } + out.print(JsonUtil.loadTrueResult(resultData)); + } + + /** + * 鐢ㄦ埛闃熷憳缁熻 1.4.1 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "countMyTeam", method = RequestMethod.POST) + public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) { + + long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1); + long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null); + + long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1); + long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null); + JSONObject bossData = new JSONObject(); + ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid); + if (threeSale != null) { + UserInfo boss = threeSale.getBoss(); + if (boss != null) { + bossData.put("nickName", boss.getNickName()); + bossData.put("portrait", boss.getPortrait()); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + Long createTime = threeSale.getCreateTime(); + Date inviteTime = new Date(createTime); + bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime)); + } + + JSONObject resultData = new JSONObject(); + + String helpLink = configService.get("team_help_url"); + if (helpLink == null) { + helpLink = ""; + } + resultData.put("helpLink", helpLink); + resultData.put("firstTeam", firstTeam); + resultData.put("firstTeamTotal", firstTeamTotal); + resultData.put("secondTeam", secondTeam); + resultData.put("secondTeamTotal", secondTeamTotal); + resultData.put("boss", bossData); + + out.print(JsonUtil.loadTrueResult(resultData)); + } + + /** + * 鐢ㄦ埛闃熷憳淇℃伅淇濆瓨 1.4.1 + * + * @param acceptData + * @param uid + * @param inviteId + * 閭�璇穒d + * @param nickname + * @param out + */ + @RequestMapping(value = "setextrainfo", method = RequestMethod.POST) + public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) { + + try { + List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null); + if (listThreeSale == null || listThreeSale.size() == 0) { + out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); + return; + } + + UserInfo worker = listThreeSale.get(0).getWorker(); + if (worker == null) { + out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); + return; + } + + List<ThreeSaleExtraInfo> list = threeSaleExtraInfoSerivce.listbyBossIdAndWorkerId(uid, worker.getId()); + if (list == null || list.size() == 0) { + + ThreeSaleExtraInfo extraInfo = new ThreeSaleExtraInfo(); + extraInfo.setWorker(worker); + extraInfo.setNickname(memoName); + extraInfo.setCreateTime(new Date()); + extraInfo.setUpdateTime(new Date()); + + UserInfo boss = new UserInfo(uid); + extraInfo.setBoss(boss); + + threeSaleExtraInfoSerivce.insert(extraInfo); + + } else { + ThreeSaleExtraInfo extraInfo = list.get(0); + extraInfo.setNickname(memoName); + extraInfo.setUpdateTime(new Date()); + threeSaleExtraInfoSerivce.updateByPrimaryKey(extraInfo); + } + + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); + + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触")); + e.printStackTrace(); + } + + } + + /** + * 鍒犻櫎闃熷憳鍏崇郴 + * + * @param acceptData + * @param uid + * @param inviteId + * 閭�璇穒d + * @param out + */ + @RequestMapping(value = "removethreesale", method = RequestMethod.POST) + public void removethreesale(AcceptData acceptData, long uid, long inviteId, PrintWriter out) { + try { + List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, 1); + if (listThreeSale == null || listThreeSale.size() == 0) { + out.print(JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁鏃犳晥")); + return; + } + + UserInfo worker = listThreeSale.get(0).getWorker(); + if (worker == null) { + out.print(JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁鏃犳晥")); + return; + } + + // 鍒犻櫎鍏崇郴 + threeSaleSerivce.deleteByPrimaryKey(inviteId); + // 鍒犻櫎澶囨敞 + threeSaleExtraInfoSerivce.deleteByBossIdAndWorkerId(uid, worker.getId()); + + out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛")); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + e.printStackTrace(); + } + + } + } -- Gitblit v1.8.0