From c71055635df3d75e5dc838a9b66036c591913a13 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期六, 08 七月 2023 18:37:12 +0800 Subject: [PATCH] 管理台bug和用户端 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 238 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 167 insertions(+), 71 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index 763c21e..c504bbb 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java @@ -11,7 +11,6 @@ import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.security.utils.CodeFactoryUtil; import com.ruoyi.shop.domain.dto.*; -import com.ruoyi.shop.domain.pojo.shop.ShopTotal; import com.ruoyi.shop.domain.pojo.shop.*; import com.ruoyi.shop.domain.pojo.task.ShopFile; import com.ruoyi.shop.domain.vo.*; @@ -26,10 +25,7 @@ import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.*; -import com.ruoyi.system.api.service.RemoteConfigService; -import com.ruoyi.system.api.service.RemoteMemberService; -import com.ruoyi.system.api.service.RemoteOrderService; -import com.ruoyi.system.api.service.RemoteUserService; +import com.ruoyi.system.api.service.*; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -104,6 +100,8 @@ @Resource private RemoteUserService remoteUserService; + @Resource + private RemoteSysStaffService remoteSysStaffService; /** * 获取商户详情 @@ -155,13 +153,24 @@ String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; Long userId; - for (String str : relUserIdArray) { - userId = Long.valueOf(str); - shopRelUser = shopRelUserService.getByUserId(userId); - if(shopRelUser!=null){ - throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); + if(mgtEditShopDto.getShopId()!=null){ + for (String str : relUserIdArray) { + userId = Long.valueOf(str); + shopRelUser = shopRelUserService.getByUserId(userId); + if(shopRelUser!=null&&!shopRelUser.getShopId().equals(mgtEditShopDto.getShopId())){ + throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); + } + } + }else { + for (String str : relUserIdArray) { + userId = Long.valueOf(str); + shopRelUser = shopRelUserService.getByUserId(userId); + if(shopRelUser!=null){ + throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); + } } } + } //验证商户名唯一 Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName())); @@ -267,68 +276,82 @@ } } if(newShop){ - //商户账户信息初始化 - ShopAccount shopAccount = new ShopAccount(); - shopAccount.setShopId(shop.getShopId()); - shopAccount.setDelFlag(0); - shopAccount.setTotalIncome(new BigDecimal("0")); - shopAccount.setTotalDisburse(new BigDecimal("0")); - shopAccount.setTotalRefund(new BigDecimal("0")); - shopAccount.setTotalProfitsharing(new BigDecimal("0")); - shopAccount.setTotalMoney(new BigDecimal("0")); - shopAccountService.save(shopAccount); - //商户认证信息初始化 - String authId = IdUtils.simpleUUID(); - ShopAuthentication shopAuthentication = new ShopAuthentication(); - shopAuthentication.setAuthId(authId); - shopAuthentication.setDelFlag(0); - shopAuthentication.setShopId(shop.getShopId()); - shopAuthenticationService.save(shopAuthentication); - //商户分成信息初始化 - ShopProportion shopProportion = new ShopProportion(); - shopProportion.setDelFlag(0); - shopProportion.setShopId(shop.getShopId()); - shopProportion.setShopType(shop.getShopType()); - shopProportion.setProportionPercent(new BigDecimal("100.00")); - shopProportion.setUpdateTime(new Date()); - shopProportion.setUpdateUserId(mgtEditShopDto.getUserId()); - shopProportionService.save(shopProportion); - //商户统计 - ShopTotal shopTotal = new ShopTotal(); - shopTotal.setShopId(shop.getShopId()); - shopTotal.setDelFlag(0); - shopTotal.setLastPayMoney(zeroBig); - shopTotal.setTotalActivityCount(0); - shopTotal.setTotalOrder(0); - shopTotal.setTotalCycleOrder(0); - shopTotal.setTotalExperienceOrder(0); - shopTotal.setTotalServiceOrder(0); - shopTotal.setTotalGoodsOrder(0); - shopTotal.setTotalServiceCount(0); - shopTotal.setUsedServiceCount(0); - shopTotal.setUseableServiceCount(0); - shopTotal.setTotalCycleService(0); - shopTotal.setUsedCycleService(0); - shopTotal.setUseableCycleService(0); - shopTotal.setTotalCyclePerson(0); - shopTotal.setUseableCyclePerson(0); - shopTotal.setTotalServiceService(0); - shopTotal.setUsedServiceService(0); - shopTotal.setUseableServiceService(0); - shopTotal.setTotalServicePerson(0); - shopTotal.setUseableServicePerson(0); - shopTotal.setTotalExperienceService(0); - shopTotal.setUsedExperienceService(0); - shopTotal.setUseableExperienceService(0); - shopTotal.setTotalExperiencePerson(0); - shopTotal.setUseableExperiencePerson(0); - shopTotal.setTotalOrderMoney(zeroBig); - shopTotal.setTotalCycleMoney(zeroBig); - shopTotal.setTotalExperienceMoney(zeroBig); - shopTotal.setTotalServiceMoney(zeroBig); - shopTotal.setTotalGoodsMoney(zeroBig); - shopTotalService.save(shopTotal); + //生成商户关联记录 + initNewShop(shop,mgtEditShopDto.getUserId()); } + } + + /** + * @description 商户关联类初始化 + * @author jqs + * @date 2023/7/7 11:25 + * @param shop + * @param userId + * @return void + */ + private void initNewShop(Shop shop,Long userId){ + BigDecimal zeroBig = new BigDecimal("0.00"); + //商户账户信息初始化 + ShopAccount shopAccount = new ShopAccount(); + shopAccount.setShopId(shop.getShopId()); + shopAccount.setDelFlag(0); + shopAccount.setTotalIncome(new BigDecimal("0")); + shopAccount.setTotalDisburse(new BigDecimal("0")); + shopAccount.setTotalRefund(new BigDecimal("0")); + shopAccount.setTotalProfitsharing(new BigDecimal("0")); + shopAccount.setTotalMoney(new BigDecimal("0")); + shopAccountService.save(shopAccount); + //商户认证信息初始化 + String authId = IdUtils.simpleUUID(); + ShopAuthentication shopAuthentication = new ShopAuthentication(); + shopAuthentication.setAuthId(authId); + shopAuthentication.setDelFlag(0); + shopAuthentication.setShopId(shop.getShopId()); + shopAuthenticationService.save(shopAuthentication); + //商户分成信息初始化 + ShopProportion shopProportion = new ShopProportion(); + shopProportion.setDelFlag(0); + shopProportion.setShopId(shop.getShopId()); + shopProportion.setShopType(shop.getShopType()); + shopProportion.setProportionPercent(new BigDecimal("100.00")); + shopProportion.setUpdateTime(new Date()); + shopProportion.setUpdateUserId(userId); + shopProportionService.save(shopProportion); + //商户统计 + ShopTotal shopTotal = new ShopTotal(); + shopTotal.setShopId(shop.getShopId()); + shopTotal.setDelFlag(0); + shopTotal.setLastPayMoney(zeroBig); + shopTotal.setTotalActivityCount(0); + shopTotal.setTotalOrder(0); + shopTotal.setTotalCycleOrder(0); + shopTotal.setTotalExperienceOrder(0); + shopTotal.setTotalServiceOrder(0); + shopTotal.setTotalGoodsOrder(0); + shopTotal.setTotalServiceCount(0); + shopTotal.setUsedServiceCount(0); + shopTotal.setUseableServiceCount(0); + shopTotal.setTotalCycleService(0); + shopTotal.setUsedCycleService(0); + shopTotal.setUseableCycleService(0); + shopTotal.setTotalCyclePerson(0); + shopTotal.setUseableCyclePerson(0); + shopTotal.setTotalServiceService(0); + shopTotal.setUsedServiceService(0); + shopTotal.setUseableServiceService(0); + shopTotal.setTotalServicePerson(0); + shopTotal.setUseableServicePerson(0); + shopTotal.setTotalExperienceService(0); + shopTotal.setUsedExperienceService(0); + shopTotal.setUseableExperienceService(0); + shopTotal.setTotalExperiencePerson(0); + shopTotal.setUseableExperiencePerson(0); + shopTotal.setTotalOrderMoney(zeroBig); + shopTotal.setTotalCycleMoney(zeroBig); + shopTotal.setTotalExperienceMoney(zeroBig); + shopTotal.setTotalServiceMoney(zeroBig); + shopTotal.setTotalGoodsMoney(zeroBig); + shopTotalService.save(shopTotal); } /** @@ -628,6 +651,43 @@ return shop; } + /** + * 获取获取员工端首页统计 + * @param userId + * @return + */ + @Override + public MerHomeShopTotalVo getStaffHomeTotal(Long userId){ + List<Long> userIds = null; + List<Long> shopIds = null; + //如果是leader 查询leader下面所有的员工下的所有shopId + if(remoteSysStaffService.isLeader()){ + Long deptId = sysUserService.getSysUser(userId).getData().getDeptId(); + userIds = remoteSysStaffService.getUserIds(deptId).getData(); + //根据用户所有id查询关联的商户id + MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); + mgtBasePlatformDto.setUserIdList(userIds); + shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); + }else { + //普通员工查询商户归属的shopId + MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); + mgtShopIdByCodeDto.setBelongUserId(userId); + shopIds = shopMapper.getShopIdByCode(mgtShopIdByCodeDto); + } + //分别查询 + MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); + merHomeShopTotalVo.setShopIds(shopIds); + MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); + merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop()); + merHomeShopTotalVo.setUnHandleOrder(orderVo.getUnHandleOrder()); + merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover()); + ShopTotal shopTotal = shopTotalService.shopsTotalByIds(shopIds); + merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson()); + merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); + Integer taskCount = memberTaskService.getMembersIngTotal(shopIds); + merHomeShopTotalVo.setTask(taskCount); + return merHomeShopTotalVo; + } /** * 获取商户端 * @param userId @@ -949,4 +1009,40 @@ mgtShopAuthCodeVo.setLegalValidationUrl(shopAuthentication.getLegalValidationUrl()); return mgtShopAuthCodeVo; } + + + /** + * @description 获取商户下属代理商 + * @author jqs + * @date 2023/7/3 17:27 + * @param shopId + * @return List<Long> + */ + @Override + public List<Long> listShopIdByShopId(Long shopId){ + List<Long> shopIds = shopMapper.selectList( + new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId) + ).stream().map(Shop::getShopId).collect(Collectors.toList()); + return shopIds; + } + + /** + * @description 获取商户下属代理商 + * @author jqs + * @date 2023/7/3 18:18 + * @param shopId + * @return List<MgtSimpleShopVo> + */ + @Override + public List<MgtSimpleShopVo> listShopByShop(Long shopId){ + List<MgtSimpleShopVo> simpleShopVoList = shopMapper.selectList( + new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId)). + stream().map(shop->{ + MgtSimpleShopVo simpleShopVo = new MgtSimpleShopVo(); + simpleShopVo.setShopId(shop.getShopId()); + simpleShopVo.setShopName(shop.getShopName()); + return simpleShopVo; + }).collect(Collectors.toList()); + return simpleShopVoList; + } } -- Gitblit v1.7.1