From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java | 144 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 134 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java index 066855e..217959a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java @@ -4,6 +4,7 @@ import java.io.PrintWriter; import java.lang.reflect.Type; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -13,7 +14,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.yeshi.utils.BigDecimalUtil; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; @@ -26,13 +26,21 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; -import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.fanli.exception.user.UserInfoExtraException; +import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; +import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.extract.ExtractService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; import com.yeshi.fanli.vo.money.UserMoneyStatisticVO; @@ -57,6 +65,18 @@ @Resource private HongBaoV2Service hongBaoV2Service; + @Resource + private ExtractService extractService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private ConfigService configService; + + @Resource + private HongBaoV2CountService hongBaoV2CountService; + /** * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛� * @@ -68,11 +88,14 @@ * 骞翠唤 * @param month * 鏈堜唤 + * @param type + * 1-鏀跺叆 2-鏀嚭 0-鍏ㄩ儴 + * * @param out */ @RequestMapping(value = "getUserMoneyDetailList") public void getUserMoneyDetailList(AcceptData acceptData, Long uid, Long index, Integer year, Integer month, - PrintWriter out) { + Integer type, PrintWriter out) { if (uid == null || uid == 0) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; @@ -93,8 +116,9 @@ date = new Date(ca.getTimeInMillis() - 1); } - List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, date); - long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, date); + List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, type, + date); + long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, type, date); GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new TypeAdapter<UserMoneyDetailTypeEnum>() { @Override @@ -152,8 +176,9 @@ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } + UserInfo user = userInfoService.getUserById(uid); - BigDecimal balance = userInfoService.getUserById(uid).getMyHongBao(); + BigDecimal balance = user.getMyHongBao(); UserMoneyStatisticVO vo = new UserMoneyStatisticVO(); vo.setBalanceMoney(balance); @@ -269,11 +294,12 @@ TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy-MM"), "yyyy-MM")); // 鏈湀鏈埌璐� - vo.setMonthUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate)); + BigDecimal monthUnRecievedMoney = hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate); + vo.setMonthUnRecievedMoney(monthUnRecievedMoney); // 鍏ㄩ儴鏈埌璐� minDate = new Date(0); - maxDate=new Date(timeStamp); + maxDate = new Date(timeStamp); vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate)); GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { @@ -289,7 +315,105 @@ } }); + if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())) { + // 鑾峰彇鎻愮幇涓殑淇℃伅 + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + if (extractingMoney.compareTo(new BigDecimal(0)) > 0) + vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); + // 鑾峰彇鏄惁缁戝畾浜嗗井淇� + if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) { + vo.setBindingWX(true); + } else + vo.setBindingWX(false); + + UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid); + // 濡傛灉缁戝畾浜嗗井淇¤�屼笖鏈紑閫氳嚜鍔ㄦ彁鐜板氨鍏堝紑閫氳嚜鍔ㄦ彁鐜� + if (extra.getAutoExtract() == null && !StringUtil.isNullOrEmpty(user.getWxUnionId())) { + UserInfoExtra update = new UserInfoExtra(); + update.setId(extra.getId()); + update.setAutoExtract(true); + try { + userInfoExtraService.saveUserInfoExtra(update);// 璁剧疆鑷姩鎻愮幇寮�鍚� + extra.setAutoExtract(true); + } catch (UserInfoExtraException e) { + e.printStackTrace(); + } + } + + if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true) + vo.setAutoExtract(true); + else + vo.setAutoExtract(false); + + vo.setAutoExtractHelpUrl(configService.get(ConfigKeyEnum.autoExtractHelpUrl.getKey())); + vo.setOpenAutoExtractMsg("鑷姩鎻愮幇蹇呴』瑕佸井淇℃巿鏉冿紝褰撹处鎴蜂腑鐨勪綑棰濃墺2鍏冩椂锛岀郴缁熷湪淇濋殰浣犺祫閲戝畨鍏ㄧ殑鎯呭喌涓嬶紝浠ュ井淇$孩鍖呯殑褰㈠紡瀹屾垚鎻愮幇"); + vo.setCloseAutoExtractMsg("鍏抽棴鑷姩鎻愮幇鍚庯紝60澶╀互鍐呭皢涓嶈嚜鍔ㄦ彁鐜帮紝60澶╁悗绯荤粺灏嗕細鑷姩寮�鍚紝鏁鐭ユ檽"); + } + out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); } + /** + * 鑷姩鎻愮幇 + * + * @param acceptData + * @param type + * @param out + */ + @RequestMapping("autoExtract") + public void autoExtract(AcceptData acceptData, Long uid, Integer type, PrintWriter out) { + if (type == null) { + out.print(JsonUtil.loadFalseResult("璇蜂笂浼爐ype")); + return; + } + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埗鏈櫥褰�")); + return; + } + + UserInfoExtra userExtra = userInfoExtraService.getUserInfoExtra(uid); + UserInfo user = userInfoService.selectByPKey(uid); + if (user == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埗涓嶅瓨鍦�")); + return; + } + if (type == 1)// 寮�鍚� + { + if (userExtra.getAutoExtract() == null || userExtra.getAutoExtract() == false) { + if (StringUtil.isNullOrEmpty(user.getWxUnionId()))// 灏氭湭缍佸畾寰俊 + { + out.print(JsonUtil.loadFalseResult("鏈秮瀹氬井淇�")); + return; + } + // 璁剧疆鑷姩鎻愮幇 + UserInfoExtra update = new UserInfoExtra(); + update.setId(userExtra.getId()); + update.setAutoExtract(true); + try { + userInfoExtraService.saveUserInfoExtra(update); + } catch (UserInfoExtraException e) { + e.printStackTrace(); + } + out.print(JsonUtil.loadTrueResult("")); + return; + } else { + out.print(JsonUtil.loadTrueResult("")); + return; + } + } else {// 鍏抽棴 + UserInfoExtra update = new UserInfoExtra(); + update.setId(userExtra.getId()); + update.setAutoExtract(false); + update.setCloseTimeExtract(new Date()); + try { + userInfoExtraService.saveUserInfoExtra(update); + } catch (UserInfoExtraException e) { + e.printStackTrace(); + } + out.print(JsonUtil.loadTrueResult("")); + return; + } + + } + } -- Gitblit v1.8.0