From 8a54915d3c39d9d8d7e90c0971d1e19d0eb76622 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期五, 12 六月 2020 14:37:04 +0800 Subject: [PATCH] 券统计 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 201 insertions(+), 8 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java index 31a69d5..18f2b73 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java @@ -2,6 +2,7 @@ import java.io.PrintWriter; import java.lang.reflect.Type; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; @@ -34,6 +35,7 @@ import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.UserInviteValidNum; import com.yeshi.fanli.entity.bus.user.UserRank; import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo; import com.yeshi.fanli.entity.common.AdminUser; @@ -46,6 +48,8 @@ import com.yeshi.fanli.service.inter.count.UserInfoCountService; import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; +import com.yeshi.fanli.service.inter.money.extract.ExtractService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; import com.yeshi.fanli.service.inter.user.UserAccountService; import com.yeshi.fanli.service.inter.user.UserActiveLogService; @@ -55,7 +59,7 @@ import com.yeshi.fanli.service.inter.user.UserRankService; import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.user.invite.UserInviteValidRecordService; +import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService; import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.tag.PageEntity; @@ -114,7 +118,18 @@ @Resource private IntegralDetailService integralDetailService; - + @Resource + private UserInviteValidNumService userInviteValidNumService; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; + + @Resource + private ExtractService extractService; + + @Resource + private HongBaoV2Service hongBaoV2Service; + /** * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛 @@ -212,6 +227,160 @@ } } + /** + * 鐢ㄦ埛鍩虹淇℃伅鏌ヨ + * @param callback + * @param pageIndex + * @param pageSize + * @param key + * @param keyType + * @param rank + * @param userType + * @param days + * @param startTime + * @param endTime + * @param type + * @param level + * @param activeCode + * @param out + */ + @RequestMapping(value = "queryInfo") + public void queryInfo(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType, Integer rank,Integer userType, + Integer days, String startTime, String endTime, Integer state,String level, + Integer activeCode, PrintWriter out) { + try { + if (pageIndex == null) + pageIndex = 1; + + if (pageSize == null) + pageSize = Constant.PAGE_SIZE; + + String userRank = null; + if (rank != null) { + switch (rank) { + case 1: + userRank = "闈掗摐"; + break; + case 2: + userRank = "鐧介摱"; + break; + case 3: + userRank = "榛勯噾"; + break; + case 4: + userRank = "閾傞噾"; + break; + default: + break; + } + } + + List<UserInfoVO> userList = userInfoService.queryInfo((pageIndex - 1) * pageSize, pageSize, state, key, keyType, + userRank, days, startTime, endTime, userType, level, activeCode); + + if (userList == null || userList.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁")); + return; + } + + long count = userInfoService.countInfo(state, key, keyType, userRank, days, startTime, endTime,userType, level, activeCode); + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + Gson gson = gsonBuilder.create(); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("resultList", gson.toJson(userList)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + } + } + + + /** + * 璧勯噾缁熻 + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "statisticsMoney") + public void statisticsMoney(String callback, Long uid, PrintWriter out) { + try { + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴稩D涓嶅瓨鍦�")); + return; + } + + Date minDate = null; + Date maxDate = null; + long timeStamp = System.currentTimeMillis(); + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(timeStamp); + List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>(); + typeList.add(UserMoneyDetailTypeEnum.extract); + typeList.add(UserMoneyDetailTypeEnum.extractNew); + typeList.add(UserMoneyDetailTypeEnum.extractVerify); + typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); + minDate = new Date(0L); + maxDate = new Date(timeStamp); + // 绱鎴愬姛鎻愮幇 + BigDecimal totalExtractMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, + maxDate, 1).abs(); + // 鎻愮幇涓噾棰� + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + + // 鍏ㄩ儴鏈埌璐� + minDate = new Date(0); + maxDate = new Date(timeStamp); + BigDecimal unRecievedMoney = hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate); + + JSONObject data = new JSONObject(); + data.put("totalExtractMoney", totalExtractMoney); + data.put("extractingMoney", extractingMoney); + data.put("balanceMoney", user.getMyHongBao()); + data.put("unRecievedMoney", unRecievedMoney); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + /** + * 鏉冪泭缁熻 + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "statisticsGoldCoin") + public void statisticsEquity(String callback, Long uid, PrintWriter out) { + try { + int goldCoin = 0; + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + goldCoin = userInfoExtra.getGoldCoin(); + } + + JSONObject data = new JSONObject(); + data.put("goldCoin", goldCoin); + data.put("exchangeGoldCoin",new BigDecimal(integralDetailService.sumUseGoldCoin(uid)).abs()); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + /** * 缁熻浠婃棩鐢ㄦ埛鎬绘儏鍐� * @@ -652,8 +821,6 @@ } } } - - long count = 0; @@ -1277,7 +1444,6 @@ continue; } - UserInfo user = userInfoService.selectByPKey(userInfo.getId()); if (user != null) { detail.setUserInfo(user); @@ -1285,10 +1451,8 @@ } long count = userMoneyDetailService.countQuery(key, keyType); - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - GsonBuilder gsonBuilder = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss"); gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new JsonSerializer<UserMoneyDetailTypeEnum>() { @@ -1302,7 +1466,6 @@ } }); Gson gson = gsonBuilder.create(); - JSONObject data = new JSONObject(); data.put("pe", pe); @@ -1313,4 +1476,34 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); } } + + + + /** + * 鐢ㄦ埛绮変笣缁熻 + * + * @param callback + * @param pageIndex + * @param pageSize + * @param id + * @param out + */ + @RequestMapping(value = "countTeamFans") + public void countTeamFans(String callback, Long uid, PrintWriter out) { + int doneFirst = 0; + int doneSecond = 0; + UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(uid); + if (userInviteValidNum != null) { + doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst(); + doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond(); + } + JSONObject data = new JSONObject(); + data.put("doneFirst", doneFirst); + data.put("doneSecond", doneSecond); + data.put("first", threeSaleSerivce.countFirstTeam(uid)); + data.put("second", threeSaleSerivce.countSecondTeam(uid)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + + } -- Gitblit v1.8.0