From 454f73537f9bcc27c50400f9197b771c83fd5900 Mon Sep 17 00:00:00 2001 From: jiangqs <343695869@qq.com> Date: 星期五, 23 六月 2023 16:38:32 +0800 Subject: [PATCH] 营销统计 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 183 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 174 insertions(+), 9 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 4a39190..a84c332 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 @@ -18,15 +18,14 @@ import com.ruoyi.shop.service.task.ShopFileService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; +import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto; import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; +import com.ruoyi.system.api.domain.dto.MgtUserIdByDept; import com.ruoyi.system.api.domain.poji.config.SysTag; import com.ruoyi.system.api.domain.poji.member.Member; 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.MerHomeShopTotalVo; -import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo; -import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; -import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; +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; @@ -37,10 +36,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.text.ParseException; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.StringJoiner; +import java.util.*; import java.util.stream.Collectors; /** @@ -93,7 +89,7 @@ @Resource private ShopProportionService shopProportionService; - + /** * 获取商户详情 @@ -269,6 +265,40 @@ shopProportionService.save(shopProportion); } } + + /** + * @description 终止合作 + * @author jqs + * @date 2023/6/20 12:01 + * @param mgtTerminateCooperationDto + * @return void + */ + @Override + public void terminateMgtCooperation(MgtTerminateCooperationDto mgtTerminateCooperationDto){ + Shop shop = this.getById(mgtTerminateCooperationDto.getShopId()); + if(mgtTerminateCooperationDto.getCooperativeFlag()==1){ + /*Date coopStartDate = shop.getCooperationStartTime(); + Date coopEndDate = shop.getCooperationEndTime(); + Date nowTime = new Date(); + //判断合作时间 没在时间内不能开启 + if(coopStartDate.compareTo(nowTime)>0&&coopEndDate.compareTo(nowTime)<0){ + throw new ServiceException(AppErrorConstant.COOPERATION_TIME_ERROR); + }*/ + shop.setCooperativeFlag(1); + if(shop.getShopStatus()==2&&shop.getFrozenFlag()==0){ + shop.setShopStatus(1); + }else if(shop.getShopStatus()==2&&shop.getFrozenFlag()==1){ + shop.setShopStatus(0); + } + }else{ + shop.setCooperativeFlag(0); + shop.setShopStatus(2); + } + shop.setUpdateTime(new Date()); + shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId()); + this.saveOrUpdate(shop); + } + /** * 修改合作时间 @@ -614,4 +644,139 @@ MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(); return mgtBulletinBoardVoShop; } + + /** + * @description 商户进件 + * @author jqs + * @date 2023/6/19 11:02 + * @param mgtShopAuthDto + * @return void + */ + @Override + public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto){ + ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId()); + BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication); + shopAuthentication.setAuditStatus(3); + shopAuthenticationService.saveOrUpdate(shopAuthentication); + } + + /** + * @description 获取平台商户统计 + * @author jqs + * @date 2023/6/21 16:25 + * @param mgtBasePlatformDto + * @return MgtPlTotalShopTotalVo + */ + @Override + public MgtPlTotalShopTotalVo getPlTotalShopTotal(MgtBasePlatformDto mgtBasePlatformDto) { + //获取需要关联的用户id集合 + if (mgtBasePlatformDto.getDeptId() != null) { + List<Long> userIdList = new ArrayList<>(); + if (mgtBasePlatformDto.getUserId() != null) { + userIdList.add(mgtBasePlatformDto.getUserId()); + } else { + MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); + mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId()); + mgtUserIdByDept = configService.getUserIdByDept(mgtUserIdByDept).getData(); + userIdList = mgtUserIdByDept.getUserIdList(); + } + if (!userIdList.isEmpty()) { + mgtBasePlatformDto.setUserIdList(userIdList); + } + } + //获取基础统计 + MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(); + plTotalShopTotalVo.setSignTotal(0); + List<Long> shopIdList = shopMapper.listShopIdByTotal(mgtBasePlatformDto); + if (!shopIdList.isEmpty()) { + MgtShopTotalMemberVo shopTotalMemberVo = remoteMemberService.getUserTotalByShopId(shopIdList).getData(); + plTotalShopTotalVo.setManTotal(shopTotalMemberVo.getManTotal()); + plTotalShopTotalVo.setWomenTotal(shopTotalMemberVo.getWomenTotal()); + plTotalShopTotalVo.setAgeKey(shopTotalMemberVo.getAgeKey()); + plTotalShopTotalVo.setAgeValue(shopTotalMemberVo.getAgeValue()); + } + //获取商户类型 + List<MgtMapTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto); + if (shopTypeTotal != null && shopTypeTotal.size() > 0) { + String[] shopTypeKey = new String[shopTypeTotal.size()]; + Integer[] shopTypeValue = new Integer[shopTypeTotal.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < shopTypeTotal.size(); i++) { + if (shopTypeTotal.get(i).getMapKey().equals("1")) { + shopTypeKey[i] = "经销商"; + } else if (shopTypeTotal.get(i).getMapKey().equals("2")) { + shopTypeKey[i] = "代理商"; + } + shopTypeValue[i] = shopTypeTotal.get(i).getMapValue(); + } + plTotalShopTotalVo.setShopTypeKey(shopTypeKey); + plTotalShopTotalVo.setShopTypeValue(shopTypeValue); + } + //获取商户状态 + List<MgtMapTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto); + if (shopStatusTotal != null && shopStatusTotal.size() > 0) { + String[] shopStatusKey = new String[shopStatusTotal.size()]; + Integer[] shopStatusValue = new Integer[shopStatusTotal.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < shopStatusTotal.size(); i++) { + shopStatusKey[i] = shopStatusTotal.get(i).getMapKey(); + shopStatusValue[i] = shopStatusTotal.get(i).getMapValue(); + } + plTotalShopTotalVo.setShopStatusKey(shopStatusKey); + plTotalShopTotalVo.setShopStatusValue(shopStatusValue); + } + //获取区域排名 + List<MgtMapTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto); + if (shopAreaRank != null && shopAreaRank.size() > 0) { + String[] shopRankKey = new String[shopAreaRank.size()]; + Integer[] shopRankValue = new Integer[shopAreaRank.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < shopAreaRank.size(); i++) { + shopRankKey[i] = shopAreaRank.get(i).getMapKey(); + shopRankValue[i] = shopAreaRank.get(i).getMapValue(); + } + plTotalShopTotalVo.setAreaRankKey(shopRankKey); + plTotalShopTotalVo.setAreaRankValue(shopRankValue); + } + //获取销售排名 + List<MgtMapTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto); + if (shopSalesRank != null && shopSalesRank.size() > 0) { + String[] shopSalesKey = new String[shopSalesRank.size()]; + Integer[] shopSalesValue = new Integer[shopSalesRank.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < shopSalesRank.size(); i++) { + shopSalesKey[i] = shopSalesRank.get(i).getMapKey(); + shopSalesValue[i] = shopSalesRank.get(i).getMapValue(); + } + plTotalShopTotalVo.setShopSalesRankKey(shopSalesKey); + plTotalShopTotalVo.setShopSalesRankValue(shopSalesValue); + } + //获取推荐 + List<MgtMapTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto); + if (shopRecommendRank != null && shopRecommendRank.size() > 0) { + String[] shopRecommendKey = new String[shopRecommendRank.size()]; + Integer[] shopRecommendValue = new Integer[shopRecommendRank.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < shopRecommendRank.size(); i++) { + shopRecommendKey[i] = shopRecommendRank.get(i).getMapKey(); + shopRecommendValue[i] = shopRecommendRank.get(i).getMapValue(); + } + plTotalShopTotalVo.setShopRecommendKey(shopRecommendKey); + plTotalShopTotalVo.setShopRecommendValue(shopRecommendValue); + } + return plTotalShopTotalVo; + } + + /** + * @description 获取平台统计shopId + * @param mgtBasePlatformDto + * @return List<Long> + * @author jqs34 + * @date 2023/6/23 14:12 + */ + @Override + public List<Long> listShopIdByPlTotal(MgtBasePlatformDto mgtBasePlatformDto){ + List<Long> shopIdList = shopMapper.listShopIdByPlTotal(mgtBasePlatformDto); + return shopIdList; + } } -- Gitblit v1.7.1