From d37ac1b495dd070e37209527bbedc1ce0730951a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 01 一月 2025 15:16:41 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 134 +++++++++++++++++++++++++++++++------------- 1 files changed, 93 insertions(+), 41 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java index 0f6ad49..8168bf8 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java @@ -16,9 +16,9 @@ import com.ruoyi.account.api.model.*; import com.ruoyi.account.dto.DangerInfoDto; import com.ruoyi.account.service.*; +import com.ruoyi.account.util.ObsUploadUtil; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.bean.BeanUtils; -import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; import com.ruoyi.order.model.Order; @@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.io.IOException; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; @@ -45,6 +46,7 @@ import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.TableDataInfo; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; /** * <p> @@ -283,18 +285,18 @@ } //当前绑定门店的店铺信息 if (user.getShopId() != null) { - R<Shop> storeById = storeClient.getStoreById(user.getShopId()); + R<Shop> storeById = shopClient.getShopById(user.getShopId()); if (storeById.getData() != null) { user.setShopName(storeById.getData().getName()); } } - Long count1 = appUserService.lambdaQuery().eq(AppUser::getVipId, 1).eq(AppUser::getTopInviteId, 1).count(); - Long count2 = appUserService.lambdaQuery().eq(AppUser::getVipId, 2).eq(AppUser::getTopInviteId, userId).count(); - Long count3 = appUserService.lambdaQuery().eq(AppUser::getVipId, 3).eq(AppUser::getTopInviteId, userId).count(); - Long count4 = appUserService.lambdaQuery().eq(AppUser::getVipId, 4).eq(AppUser::getTopInviteId, userId).count(); - Long count5 = appUserService.lambdaQuery().eq(AppUser::getVipId, 5).eq(AppUser::getTopInviteId, userId).count(); - Long count6 = appUserService.lambdaQuery().eq(AppUser::getVipId, 6).eq(AppUser::getTopInviteId, userId).count(); - Long count7 = appUserService.lambdaQuery().eq(AppUser::getVipId, 7).eq(AppUser::getTopInviteId, userId).count(); + Long count1 = appUserService.lambdaQuery().eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).count(); + Long count2 = appUserService.lambdaQuery().eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).count(); + Long count3 = appUserService.lambdaQuery().eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).count(); + Long count4 = appUserService.lambdaQuery().eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).count(); + Long count5 = appUserService.lambdaQuery().eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).count(); + Long count6 = appUserService.lambdaQuery().eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).count(); + Long count7 = appUserService.lambdaQuery().eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).count(); user.setCount1(count1); user.setCount2(count2); user.setCount3(count3); @@ -391,12 +393,26 @@ @ApiParam("每一页数据大小") Integer pageSize, AppUser appUser) { IPage<AppUser> appuserPage = appUserService.getAppuserPage(pageNum, pageSize, appUser); + for (AppUser record : appuserPage.getRecords()) { + if (record.getInviteUserId() != null) { + AppUser byId1 = appUserService.getById(record.getInviteUserId()); + if (byId1!=null) { + record.setInviteUserName(byId1.getName()); + } + } + if (record.getShopId()!=null){ + R<Shop> shopById = shopClient.getShopById(record.getShopId()); + if (shopById.getData()!=null){ + record.setShopName(shopById.getData().getName()); + } + } + } return R.ok(appuserPage); } @GetMapping("/shop/getAppuserPage") @ApiOperation(value = "用户列表", tags = {"门店后台"}) - public R<IPage<AppUser>> shopGetAppuserPage(@ApiParam("页码") @RequestParam Integer pageNum, + public R<IPage<AppUser>> shopGetAppuserPage(@ApiParam("页码") @RequestParam Integer pageCurr, @ApiParam("每一页数据大小") Integer pageSize, AppUser appUser) { Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); @@ -408,7 +424,7 @@ for (Order datum : listR.getData()) { userIds.add(datum.getAppUserId()); } - IPage<AppUser> appuserPage = appUserService.getAppuserPage1(pageNum, pageSize, appUser, objectId, userIds); + IPage<AppUser> appuserPage = appUserService.getAppuserPage1(pageCurr, pageSize, appUser, objectId, userIds); return R.ok(appuserPage); } @@ -494,7 +510,7 @@ @GetMapping("/change/shop") @ApiOperation(value = "用户列表-更换门店", tags = {"管理后台"}) - public R<AppUser> shop(Long id, Long shopId) { + public R<AppUser> shop(Long id, Integer shopId) { AppUser byId = appUserService.getById(id); byId.setShopId(shopId); appUserService.updateById(byId); @@ -538,13 +554,15 @@ //推广人 if (byId.getInviteUserId() != null) { AppUser byId1 = appUserService.getById(byId.getInviteUserId()); - byId1.setInviteUserName(byId1.getInviteUserName()); + byId.setInviteUserName(byId1.getName()); } //最后下单时间 R<Order> lastOrder = remoteOrderGoodsClient.getLastOrder(id); if (lastOrder.getData() != null) { byId.setLastOrderTime(lastOrder.getData().getCreateTime()); } + List<AppUser> list = appUserService.lambdaQuery().eq(AppUser::getInviteUserId, id).list(); + byId.setBottomUsers(list); //消费总金额 return R.ok(byId); } @@ -643,15 +661,24 @@ BigDecimal totalServiceFee = BigDecimal.ZERO; BigDecimal totalUserCommission = BigDecimal.ZERO; Map<Integer, BigDecimal> vipCommissions = new HashMap<>(); + Map<String, Map<Integer, BigDecimal>> dailyVipCommissions = new HashMap<>(); for (AppUser appUser : appUserList) { - totalCommission = totalCommission.add(Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO)); - totalServiceFee = totalServiceFee.add(Optional.ofNullable(appUser.getShopServiceFee()).orElse(BigDecimal.ZERO)); - totalUserCommission = totalUserCommission.add(Optional.ofNullable(appUser.getShopCommission()).orElse(BigDecimal.ZERO)); + BigDecimal distributionAmount = Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO); + BigDecimal serviceFee = Optional.ofNullable(appUser.getShopServiceFee()).orElse(BigDecimal.ZERO); + BigDecimal userCommission = Optional.ofNullable(appUser.getShopCommission()).orElse(BigDecimal.ZERO); + + totalCommission = totalCommission.add(distributionAmount); + totalServiceFee = totalServiceFee.add(serviceFee); + totalUserCommission = totalUserCommission.add(userCommission); Integer vipId = appUser.getVipId(); if (vipId != null && vipId >= 1 && vipId <= 7) { - vipCommissions.merge(vipId, Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO), BigDecimal::add); + vipCommissions.merge(vipId, distributionAmount, BigDecimal::add); + + String dateKey = appUser.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + dailyVipCommissions.computeIfAbsent(dateKey, k -> new HashMap<>()) + .merge(vipId, distributionAmount, BigDecimal::add); } } @@ -668,34 +695,59 @@ commissionDetail.setTotalTopAgentCommission(vipCommissions.getOrDefault(6, BigDecimal.ZERO)); commissionDetail.setTotalPartnerCommission(vipCommissions.getOrDefault(7, BigDecimal.ZERO)); - Map<String, List<AppUser>> map = appUserList.stream().collect(Collectors.groupingBy(item -> item.getCreateTime() - .format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))); - List<CommissionDate> commissionDateList = new ArrayList<>(); - map.forEach((key, value) -> { + List<CommissionDate> commissionDateList = dailyVipCommissions.entrySet().stream() + .map(entry -> { + CommissionDate commissionDate = new CommissionDate(); + commissionDate.setDate(entry.getKey()); + Map<Integer, BigDecimal> dailyCommissions = entry.getValue(); + commissionDate.setNormalCommission(dailyCommissions.getOrDefault(1, BigDecimal.ZERO)); + commissionDate.setGoldCommission(dailyCommissions.getOrDefault(2, BigDecimal.ZERO)); + commissionDate.setDiamondCommission(dailyCommissions.getOrDefault(3, BigDecimal.ZERO)); + commissionDate.setAgentCommission(dailyCommissions.getOrDefault(4, BigDecimal.ZERO)); + commissionDate.setSuperAgentCommission(dailyCommissions.getOrDefault(5, BigDecimal.ZERO)); + commissionDate.setTopAgentCommission(dailyCommissions.getOrDefault(6, BigDecimal.ZERO)); + commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(7, BigDecimal.ZERO)); + BigDecimal add = commissionDate.getNormalCommission().add(commissionDate.getGoldCommission()).add(commissionDate.getDiamondCommission()).add(commissionDate.getAgentCommission()) + .add(commissionDate.getSuperAgentCommission()).add(commissionDate.getTopAgentCommission()).add(commissionDate.getPartnerCommission()); + commissionDate.setTotalCommission(add); + +// commissionDate.setServiceChargeCommission(); +// commissionDate.setAssociatedUserCommission(); +// commissionDate.setBindLowerLevelStoresCommission(); + return commissionDate; + }) + .collect(Collectors.toList()); - Map<Integer, BigDecimal> vipCommissions2 = new HashMap<>(); - for (AppUser appUser : appUserList) { - Integer vipId = appUser.getVipId(); - if (vipId != null && vipId >= 1 && vipId <= 7) { - vipCommissions2.merge(vipId, Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO), BigDecimal::add); - } - } - CommissionDate commissionDate = new CommissionDate(); - commissionDate.setDate(key); - commissionDate.setNormalCommission(vipCommissions2.getOrDefault(1, BigDecimal.ZERO)); - commissionDate.setGoldCommission(vipCommissions2.getOrDefault(2, BigDecimal.ZERO)); - commissionDate.setDiamondCommission(vipCommissions2.getOrDefault(3, BigDecimal.ZERO)); - commissionDate.setAgentCommission(vipCommissions2.getOrDefault(4, BigDecimal.ZERO)); - commissionDate.setSuperAgentCommission(vipCommissions2.getOrDefault(5, BigDecimal.ZERO)); - commissionDate.setAgentCommission(vipCommissions2.getOrDefault(6, BigDecimal.ZERO)); - commissionDate.setPartnerCommission(vipCommissions2.getOrDefault(7, BigDecimal.ZERO)); - commissionDateList.add(commissionDate); - }); commissionDetail.setCommissionDateList(commissionDateList); return R.ok(commissionDetail); } - - + + + /** + * 上传图片 + * @param file + * @return + */ + @PostMapping("/upload") + public String upload(MultipartFile file){ + String s = null; + try { + s = ObsUploadUtil.obsUpload(file); + } catch (IOException e) { + throw new RuntimeException(e); + } + return s; + } + + + /** + * 检查会员等级变更 + * @param appUserId + */ + @PostMapping("/vipUpgrade") + public void vipUpgrade(@RequestParam("appUserId") Long appUserId){ + appUserService.vipUpgrade(appUserId); + } } -- Gitblit v1.7.1