From 5d59c0ad6e82b6255cf38c3dba715395af1d60a7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 10 十二月 2018 14:37:15 +0800 Subject: [PATCH] 取消红包参数异常 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java | 354 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 303 insertions(+), 51 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 aa9fe59..f77013a 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 @@ -2,11 +2,13 @@ import java.io.PrintWriter; 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; import java.util.List; -import java.util.Map; import java.util.UUID; import javax.annotation.Resource; @@ -16,14 +18,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.HttpUtil; +import org.yeshi.utils.IPUtil; +import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.NumberUtil; +import org.yeshi.utils.tencentcloud.COSManager; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; import com.yeshi.fanli.entity.accept.AcceptData; 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; @@ -34,21 +44,27 @@ 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; +import com.yeshi.fanli.entity.goods.CollectionGoodsV2; import com.yeshi.fanli.entity.system.System; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; 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.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; @@ -76,11 +92,6 @@ import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.wx.WXLoginUtil; -import org.yeshi.utils.HttpUtil; -import org.yeshi.utils.IPUtil; -import org.yeshi.utils.JsonUtil; -import org.yeshi.utils.NumberUtil; -import org.yeshi.utils.tencentcloud.COSManager; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -126,6 +137,9 @@ private ThreeSaleSerivce threeSaleSerivce; @Resource + private ThreeSaleExtraInfoSerivce threeSaleExtraInfoSerivce; + + @Resource private LostOrderService lostOrderService; @Resource @@ -137,8 +151,6 @@ @Resource private AccountMessageService accountMessageService; - @Resource - private CollectionGoodsService collectionGoodsService; @Resource private HongBaoManageService hongBaoManageService; @@ -156,6 +168,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"; @@ -456,9 +471,7 @@ data.put("inviteList", String.format("http://%s/%s/client/share/friends_new_online.html", Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName())); else - - data.put("inviteList", String.format("http://%s/%s/client/share/friends_new.html", - Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName())); + data.put("inviteList", configService.get("team_list")); out.print(JsonUtil.loadTrueResult(data)); final UserInfo uuser = user; ThreadUtil.run(new Runnable() { @@ -710,6 +723,7 @@ data.put("minMoney", minMoney); data.put("maxMoney", maxMoney); + data.put("maxDayCount", maxDayCount); data.put("bindingAccountList", gson.toJson(filterBindingAccount(bindingAccountList))); JSONObject alipayVerify = new JSONObject(); @@ -758,7 +772,7 @@ ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid); boolean canExtract = true; String errorMsg = ""; - if (extractRecord != null && extractRecord.getCount() + 1 >= maxDayCount) { + if (extractRecord != null && extractRecord.getCount() + 1 > maxDayCount) { canExtract = false; errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s娆�", maxDayCount + ""); } else if (extractRecord != null @@ -1407,31 +1421,40 @@ @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())); + } } } } - + /** * h5鏀惰棌 + * * @param callback * @param acceptData * @param uid @@ -1439,48 +1462,71 @@ * @param out */ @RequestMapping("collectionGoodsJp") - public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) { - + public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) { + if (uid == null || auctionId == null) { - JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("")); 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); - 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); - goodsBrief.setSalesCount(TaoBaoUtil.getSaleCount(goodsBrief.getBiz30day())); - TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, - fcRate, ""); + 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(); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); + List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>(); + collectionGoodsList.parallelStream().forEachOrdered(cg -> { + TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(cg.getCommonGoods()); + goodsBrief.setSalesCount(TaoBaoUtil.getSaleCount(goodsBrief.getBiz30day())); + TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, + proportion.toString(), ""); + taoBaoGoodsBriefExtra.setCreatetime(cg.getCreateTime()); list.add(taoBaoGoodsBriefExtra); }); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().create(); + GsonBuilder builder = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + @Override + public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(value.getTime() + ""); + } + } + }); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(builder).excludeFieldsWithoutExposeAnnotation() + .create(); data.put("list", gson.toJson(list)); data.put("count", count); out.print(JsonUtil.loadTrueResult(data)); @@ -1493,7 +1539,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(); + } }); } } @@ -1502,7 +1552,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("鍒犻櫎鎴愬姛")); } @@ -1566,4 +1621,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