From 3ea9caae29421bcc6f21283e3f1d52c2bf967a4c Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 19 七月 2023 11:02:01 +0800 Subject: [PATCH] bug和企业微信同步 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 1148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 1,091 insertions(+), 57 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 78b40a9..264d788 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 @@ -1,32 +1,43 @@ package com.ruoyi.shop.service.impl.shop; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.DateUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.pojo.shop.*; -import com.ruoyi.shop.domain.vo.AppNearbyShopVo; +import com.ruoyi.shop.domain.pojo.task.ShopFile; +import com.ruoyi.shop.domain.vo.*; import com.ruoyi.shop.mapper.shop.ShopMapper; import com.ruoyi.shop.service.shop.*; -import com.ruoyi.shop.util.CodeFactoryUtil; -import com.ruoyi.system.api.RemoteActivityService; -import com.ruoyi.system.api.RemoteConfigService; -import com.ruoyi.system.api.RemoteUserService; +import com.ruoyi.shop.service.task.MemberTaskService; +import com.ruoyi.shop.service.task.ShopFileService; +import com.ruoyi.shop.service.task.ShopTaskService; +import com.ruoyi.shop.util.WxShopUtils; +import com.ruoyi.shop.util.dto.*; +import com.ruoyi.system.api.constant.AppErrorConstant; +import com.ruoyi.system.api.domain.dto.*; 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.shop.domain.vo.AppShopInfoVo; -import com.ruoyi.shop.domain.vo.MgtShopInfoVo; -import com.ruoyi.shop.domain.vo.MgtShopPageVo; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; +import com.ruoyi.system.api.domain.vo.*; +import com.ruoyi.system.api.service.*; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.nio.charset.StandardCharsets; import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.StringJoiner; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * <p> @@ -52,6 +63,9 @@ private RemoteConfigService configService; @Resource + private RemoteMemberService remoteMemberService; + + @Resource private RemoteUserService sysUserService; @Resource @@ -60,6 +74,38 @@ @Resource private ShopRelUserService shopRelUserService; + @Resource + private RemoteOrderService remoteOrderService; + + @Resource + private ShopStaffService shopStaffService; + + @Resource + private ShopAccountService shopAccountService; + + @Resource + private ShopAuthenticationService shopAuthenticationService; + + @Resource + private ShopProportionService shopProportionService; + + @Resource + private RemoteConfigService remoteConfigService; + + @Resource + private ShopTotalService shopTotalService; + + @Resource + private MemberTaskService memberTaskService; + + @Resource + private ShopTransferRecordService shopTransferRecordService; + + @Resource + private RemoteSysStaffService remoteSysStaffService; + + @Resource + private ShopTaskService shopTaskService; /** * 获取商户详情 @@ -98,34 +144,83 @@ /** * 创建商户 - * @param MGTEditShopDto + * @param mgtEditShopDto */ @Override - public void createShop(MgtEditShopDto MGTEditShopDto){ + public void createShop(MgtEditShopDto mgtEditShopDto){ Shop shop = new Shop(); - if(MGTEditShopDto.getShopId()!=null){ - shop = this.getById(MGTEditShopDto.getShopId()); + Boolean newShop = false; + BigDecimal zeroBig = BigDecimal.ZERO; + //验证关联账号唯一 + String relUserIds = mgtEditShopDto.getRelUserIds(); + if(StringUtils.isNotBlank(relUserIds)) { + String[] relUserIdArray = relUserIds.split(","); + ShopRelUser shopRelUser; + Long userId; + 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())); + if(mgtEditShopDto.getShopId()!=null){ + if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){ + throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); + } + shop = this.getById(mgtEditShopDto.getShopId()); shop.setUpdateTime(new Date()); - shop.setUpdateUserId(MGTEditShopDto.getUserId()); + shop.setUpdateUserId(mgtEditShopDto.getUserId()); shop.setShopTags(null); //清空关联记录 shopFileService.deleteByShopId(shop.getShopId()); shopRelTagService.deleteByShopId(shop.getShopId()); shopRelUserService.deleteByShopId(shop.getShopId()); + //清空归属 + shopRelUserService.deleteByShopId(shop.getShopId()); + shopStaffService.clearShopStaffRelation(shop.getShopId()); }else{ - shop.setShopStatus(2); + if(shopSame!=null){ + throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); + } + shop.setDelFlag(0); + shop.setShopStatus(3); shop.setCreateTime(new Date()); - shop.setCreateUserId(MGTEditShopDto.getUserId()); + shop.setCreateUserId(mgtEditShopDto.getUserId()); + shop.setFrozenFlag(0); + shop.setCooperativeFlag(0); + shop.setAuthFlag(0); + newShop = true; } - BeanUtils.copyProperties(MGTEditShopDto,shop); - this.saveOrUpdate(shop); + BeanUtils.copyProperties(mgtEditShopDto,shop); + String shopDetail = shop.getShopDetail(); + if(StringUtils.isNotBlank(shopDetail)){ + byte[] decodedBytes = Base64.getDecoder().decode(shopDetail); + shopDetail = new String(decodedBytes, StandardCharsets.UTF_8); + shop.setShopDetail(shopDetail); + } //商户编号 - if(MGTEditShopDto.getShopId()==null){ - String shopNo = CodeFactoryUtil.getShopNo(shop.getShopId()); + /*if(mgtEditShopDto.getShopId()==null){ + String shopNo = CodeFactoryUtil.getShopNo(); shop.setShopNumber(shopNo); - } + }*/ + this.saveOrUpdate(shop); //商户标签 - String shopTagIds = MGTEditShopDto.getShopTagIds(); + String shopTagIds = mgtEditShopDto.getShopTagIds(); if(StringUtils.isNotBlank(shopTagIds)){ String[] shopTagIdArray = shopTagIds.split(","); ShopRelTag shopRelTag; @@ -145,9 +240,14 @@ shop.setShopTags(shopTagSj.toString()); this.saveOrUpdate(shop); } + //商户归属员工 + /*if(shop.getBelongUserId()!=null){ + SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); + handleShopStaff(shop.getShopId(),belongSysUser); + }*/ //商户关联人员 - String relUserIds = MGTEditShopDto.getRelUserIds(); if(StringUtils.isNotBlank(relUserIds)){ + shopStaffService.clearShopStaffRelation(shop.getShopId()); String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; Long userId; @@ -163,18 +263,19 @@ shopRelUser.setUserMobile(sysUser.getPhonenumber()); shopRelUser.setUserDeptId(sysUser.getDeptId()); shopRelUserService.save(shopRelUser); + handleShopStaff(shop.getShopId(),sysUser); } } //商户封面 ShopFile shopFile = new ShopFile(); shopFile.setDelFlag(0); shopFile.setFileType(1); - shopFile.setFileUrl(MGTEditShopDto.getShopPicture()); + shopFile.setFileUrl(mgtEditShopDto.getShopPicture()); shopFile.setShopId(shop.getShopId()); shopFileService.save(shopFile); //商户banner - if(StringUtils.isNotBlank(MGTEditShopDto.getShopBanners())){ - String shopBanners= MGTEditShopDto.getShopBanners(); + if(StringUtils.isNotBlank(mgtEditShopDto.getShopBanners())){ + String shopBanners= mgtEditShopDto.getShopBanners(); String[] shopBannerArray = shopBanners.split(","); for(String str : shopBannerArray){ shopFile = new ShopFile(); @@ -185,7 +286,155 @@ shopFileService.save(shopFile); } } + if(newShop){ + //生成商户关联记录 + 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); + } + + /** + * @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); + }else{ + shop.setCooperativeFlag(0); + } + shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + shop.setUpdateTime(new Date()); + shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId()); + this.saveOrUpdate(shop); + } + + /** + * @description 冻结商户 + * @author jqs + * @date 2023/7/15 13:56 + * @param mgtFrozenShopDto + * @return void + */ + @Override + public void frozenMgtShop(MgtFrozenShopDto mgtFrozenShopDto){ + Shop shop = this.getById(mgtFrozenShopDto.getShopId()); + if(mgtFrozenShopDto.getFrozenFlag()==1){ + shop.setFrozenFlag(1); + }else{ + shop.setFrozenFlag(0); + } + shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + } + + /** + * @description 处理商户状态 + * @author jqs + * @date 2023/7/15 14:09 + * @param + * @return Integer + */ + private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){ + Integer shopStatus = 1; + if(frozenFlag == 1){ + shopStatus = 0; + return shopStatus; + } + if(authFlag == 0){ + shopStatus = 3; + return shopStatus; + } + if(cooperativeFlag == 0){ + shopStatus = 2; + return shopStatus; + } + return shopStatus; + } + /** * 修改合作时间 @@ -194,28 +443,30 @@ @Override public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto){ Shop shop = this.getById(mgtChangeCoopDto.getShopId()); - String coopStartTime = mgtChangeCoopDto.getCoopStartTime(); - String coopEndTime = mgtChangeCoopDto.getCoopEndTime(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date coopStartDate = null; + Date coopEndDate = null; try { - Date coopStartDate = simpleDateFormat.parse(coopStartTime); - Date coopEndDate = simpleDateFormat.parse(coopEndTime); - Date nowTime = new Date(); - shop.setCooperationStartTime(coopStartDate); - shop.setCooperationEndTime(coopEndDate); - Boolean inTime = false; - if(coopStartDate.compareTo(nowTime)<0&&coopEndDate.compareTo(nowTime)>0){ - inTime = true; - } - if(shop.getShopStatus()==2&&inTime){ - shop.setShopStatus(1); - } - shop.setUpdateTime(nowTime); - shop.setUpdateUserId(mgtChangeCoopDto.getUserId()); - this.saveOrUpdate(shop); + coopStartDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopStartTime(),"yyyy-MM-dd"); + coopEndDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopEndTime(),"yyyy-MM-dd"); } catch (ParseException e) { - e.printStackTrace(); + throw new RuntimeException(e); } + Date nowTime = new Date(); + shop.setCooperationStartTime(coopStartDate); + shop.setCooperationEndTime(coopEndDate); + Boolean inTime = false; + if(coopStartDate.compareTo(nowTime)<=0&&coopEndDate.compareTo(nowTime)>=0){ + inTime = true; + shop.setCooperativeFlag(1); + }else{ + shop.setCooperativeFlag(0); + } + if(shop.getShopStatus()==2&&inTime){ + shop.setShopStatus(1); + } + shop.setUpdateTime(nowTime); + shop.setUpdateUserId(mgtChangeCoopDto.getUserId()); + this.saveOrUpdate(shop); } /** @@ -225,8 +476,59 @@ * @return */ @Override - public List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto){ - List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageShop(page, mgtShopPageDto); + public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto){ + if (StringUtils.isNotBlank(mgtShopPageDto.getShopTags())) { + mgtShopPageDto.setShopTags(mgtShopPageDto.getShopTags().replace(",", "|")); + } + // 分页查询商铺信息 + List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto); + // 如果查询结果不为空 + if (!mgtShopPageVoList.isEmpty()) { + // 创建签约用户ID集合和所属用户ID集合 + HashSet<Long> signUserIdSet = new HashSet<>(); + HashSet<Long> belongUserIdSet = new HashSet<>(); + // 遍历查询结果,将签约用户和所属用户添加到对应的集合中 + for (MgtShopPageVo shopPageVo : mgtShopPageVoList) { + if (shopPageVo.getSignUserId() != null) { + signUserIdSet.add(shopPageVo.getSignUserId()); + } + if (shopPageVo.getBelongUserId() != null) { + belongUserIdSet.add(shopPageVo.getBelongUserId()); + } + } + MgtBaseBathDto mgtBaseBathDto; + Map<Long, MgtSysSimpleUserVo> signUserMap = null; + Map<Long, MgtSysSimpleUserVo> belongUserMap = null; + if(signUserIdSet!=null&&!signUserIdSet.isEmpty()){ + String signUserString = String.join(",", signUserIdSet.stream().map(Object::toString).collect(Collectors.toList())); + mgtBaseBathDto = new MgtBaseBathDto(); + mgtBaseBathDto.setIds(signUserString); + List<MgtSysSimpleUserVo> signUserVoList = remoteConfigService.listSimpleUserVo(mgtBaseBathDto).getData(); + signUserMap = signUserVoList.stream() + .collect(Collectors.toMap(MgtSysSimpleUserVo::getUserId, Function.identity())); + } + if(belongUserIdSet!=null&&!belongUserIdSet.isEmpty()){ + // 将签约用户ID集合和所属用户ID集合转为字符串 + String belongUserString = String.join(",", belongUserIdSet.stream().map(Object::toString).collect(Collectors.toList())); + // 查询签约用户和所属用户的详细信息 + mgtBaseBathDto = new MgtBaseBathDto(); + mgtBaseBathDto.setIds(belongUserString); + List<MgtSysSimpleUserVo> belongUserVoList = remoteConfigService.listSimpleUserVo(mgtBaseBathDto).getData(); + belongUserMap = belongUserVoList.stream() + .collect(Collectors.toMap(MgtSysSimpleUserVo::getUserId, Function.identity())); + } + // 遍历查询结果,将签约用户和所属用户的详细信息添加到商铺信息中 + for (MgtShopPageVo shopPageVo : mgtShopPageVoList) { + if (signUserMap!=null&&!signUserMap.isEmpty()&&shopPageVo.getSignUserId() != null) { + shopPageVo.setSignUser(signUserMap.get(shopPageVo.getSignUserId()).getNickName()); + } + if (belongUserMap!=null&&!belongUserMap.isEmpty()&&shopPageVo.getBelongUserId() != null) { + shopPageVo.setBelongUser(belongUserMap.get(shopPageVo.getBelongUserId()).getNickName()); + shopPageVo.setBelongDept(belongUserMap.get(shopPageVo.getBelongUserId()).getDeptName()); + } + } + } + // 返回商铺信息 return mgtShopPageVoList; } @@ -241,6 +543,12 @@ Shop shop = this.getById(shopId); //基本信息拷贝 BeanUtils.copyProperties(shop,mgtShopInfoVo); + String shopDetail = mgtShopInfoVo.getShopDetail(); + if(StringUtils.isNotBlank(shopDetail)){ + byte[] encodedBytes = Base64.getEncoder().encode(shopDetail.getBytes(StandardCharsets.UTF_8)); + shopDetail = new String(encodedBytes, StandardCharsets.UTF_8); + mgtShopInfoVo.setShopDetail(shopDetail); + } //商户标签 List<ShopRelTag> shopRelTagList = shopRelTagService.listShopRelTagByShopId(shopId); if(shopRelTagList!=null&&!shopRelTagList.isEmpty()){ @@ -315,6 +623,43 @@ this.saveOrUpdate(shop); } + + /** + * @description 转移客户 + * @author jqs + * @date 2023/6/28 16:36 + * @param mgtTransferShopDto + * @return void + */ + @Override + public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){ + Shop shop = this.getByShopId(mgtTransferShopDto.getShopId()); + if(shop.getBelongUserId()!=null){ + if(shop.getBelongUserId().equals(mgtTransferShopDto.getUserId())){ + throw new ServiceException(AppErrorConstant.TRANS_NOT_MYSELF); + } + ShopTransferRecord shopTransferRecord = new ShopTransferRecord(); + shopTransferRecord.setDelFlag(0); + shopTransferRecord.setShopId(shop.getShopId()); + shopTransferRecord.setBeforeUserId(shop.getBelongUserId()); + shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId()); + shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark()); + shopTransferRecordService.save(shopTransferRecord); + shopRelUserService.deleteByUserId(shop.getBelongUserId()); + } + shop.setBelongUserId(mgtTransferShopDto.getTransferUserId()); + this.saveOrUpdate(shop); + /*ShopRelUser shopRelUser = new ShopRelUser(); + shopRelUser.setDelFlag(0); + shopRelUser.setShopId(shop.getShopId()); + shopRelUser.setUserId(mgtTransferShopDto.getTransferUserId()); + SysUser sysUser = remoteUserService.getSysUser(mgtTransferShopDto.getTransferUserId()).getData(); + shopRelUser.setUserMobile(sysUser.getPhonenumber()); + shopRelUser.setUserDeptId(sysUser.getDeptId()); + shopRelUser.setUserName(sysUser.getNickName()); + shopRelUserService.save(shopRelUser);*/ + } + /** * 获取附近门店 * @param appNearbyShopDto @@ -324,12 +669,23 @@ public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){ AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); Shop shop = null; - if(member.getRealtionShopId()!=null){ + //获取附近商户 + if(member!=null&&member.getRelationShopId()!=null&&member.getBindingFlag()==1){ //获取绑定商户 - shop = this.getById(member.getRealtionShopId()); + shop = this.getById(member.getRelationShopId()); + }else if(StringUtils.isNotBlank(appNearbyShopDto.getLatitude())&&StringUtils.isNotBlank(appNearbyShopDto.getLongitude())){ + AppNearShopVo appNearShopVo = shopMapper.getNearbyShop(appNearbyShopDto); + shop = this.getById(appNearShopVo.getShopId()); }else{ - //获取附近商户 - shop = this.getById(1L); + return appNearbyShopVo; + } + if(member!=null&&member.getBindingFlag()!=1){ + AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); + appMemberBindingDto.setShopId(shop.getShopId()); + appMemberBindingDto.setShopName(shop.getShopName()); + appMemberBindingDto.setUserId(member.getUserId()); + appMemberBindingDto.setBindingFlag(0); + remoteMemberService.updateMemberBinding(appMemberBindingDto); } appNearbyShopVo.setShopId(shop.getShopId()); appNearbyShopVo.setShopName(shop.getShopName()); @@ -338,4 +694,682 @@ appNearbyShopVo.setShopLongitude(shop.getShopLongitude()); return appNearbyShopVo; } + + /** + * + * @param shopId + * @return + */ + @Override + public Shop getByShopId(Long shopId){ + LambdaQueryWrapper<Shop> queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(Shop::getDelFlag, 0).eq(Shop::getShopId, shopId); + Shop shop = this.getOne(queryWrapper,false); + return shop; + } + + /** + * 获取获取员工端首页统计 + * @param userId + * @return + */ + @Override + public StaffHomeShopTotalVo getStaffHomeTotal(Long userId){ + List<Long> userIds = null; + List<Long> shopIds = null; + //如果是leader 查询leader下面所有的员工下的所有shopId + if(remoteSysStaffService.isLeader()){ + userIds = sysUserService.getUserIdsByDept(userId).getData(); + //根据用户所有id查询关联的商户id + MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); + mgtBasePlatformDto.setUserIdList(userIds); + shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); + Shop shop = this.getShopByBelongUserId(userId); + shopIds.add(shop.getShopId()); + }else { + //普通员工查询商户归属的shopId + Shop shop = this.getShopByBelongUserId(userId); + shopIds.add(shop.getShopId()); + } + //分别查询 + StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(shopIds); + Integer shopTaskCount = shopTaskService.getShopIngTotal(shopIds); + staffHomeShopTotalVo.setFollowMember(0); + staffHomeShopTotalVo.setNewMember(0); + staffHomeShopTotalVo.setShopTask(shopTaskCount); + return staffHomeShopTotalVo; + } + /** + * 获取商户端 + * @param userId + * @return + */ + @Override + public MerHomeShopTotalVo getMerHomeTotal(Long userId){ + MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); + ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId); + Long shopId = shopRelUser.getShopId(); + merHomeShopTotalVo.setShopId(shopId); + Shop shop = this.getById(shopId); + merHomeShopTotalVo.setShopType(shop.getShopType()); + MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); + ShopTotal shopTotal = shopTotalService.getById(shopId); + merHomeShopTotalVo.setShopId(shopId); + merHomeShopTotalVo.setShopType(shop.getShopType()); + merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop()); + merHomeShopTotalVo.setUnHandleOrder(orderVo.getUnHandleOrder()); + Integer taskCount = memberTaskService.getMemberIngTotal(shopId); + merHomeShopTotalVo.setTask(taskCount); + merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover()); + merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson()); + merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); + return merHomeShopTotalVo; + } + + /** + * 获取商户绑定代理商 + * @param page + * @param merAgencyPageDto + * @return + */ + @Override + public List<MerAgencyPageVo> pageMerAgencyVo(Page page, MerAgencyPageDto merAgencyPageDto){ + List<MerAgencyPageVo> merAgencyPageVoList = shopMapper.pageMerAgencyVo(page, merAgencyPageDto); + return merAgencyPageVoList; + } + + /** + * 处理商户员工 + * @param shopId + * @param sysUser + */ + private void handleShopStaff(Long shopId,SysUser sysUser){ + ShopStaff shopStaff = shopStaffService.getByUserId(sysUser.getUserId()); + if(shopStaff!=null){ + shopStaff.setShopId(shopId); + }else{ + String staffId = IdUtils.simpleUUID(); + shopStaff = new ShopStaff(); + shopStaff.setStaffId(staffId); + shopStaff.setDelFlag(0); + shopStaff.setUserId(sysUser.getUserId()); + shopStaff.setShopId(shopId); + shopStaff.setStaffName(sysUser.getNickName()); + shopStaff.setStaffMobile(sysUser.getPhonenumber()); + shopStaff.setStaffGender(Integer.valueOf(sysUser.getSex())); + shopStaff.setStaffAvatar(sysUser.getAvatar()); + } + shopStaffService.saveOrUpdate(shopStaff); + } + + /** + * @description 平台获取商户分成列表 + * @author jqs + * @date 2023/6/8 9:25 + * @param page + * @param mgtShopProportionPageDto + * @return List<MgtShopProportionPageVo> + */ + @Override + public List<MgtShopProportionPageVo> pageMgtShopProportion(Page page, MgtShopProportionPageDto mgtShopProportionPageDto){ + return shopMapper.pageMgtShopProportion(page,mgtShopProportionPageDto); + } + + /** + * @description 删除商户标签 + * @author jqs + * @date 2023/6/8 15:53 + * @param shopTag + * @return void + */ + @Override + public void deleteShopTag(String shopTag){ + shopMapper.deleteShopTag(shopTag); + } + + /** + * @description 通过code获取shopId + * @author jqs + * @date 2023/6/9 16:40 + * @param mgtShopIdByCodeDto + * @return MgtShopIdByCodeVo + */ + @Override + public MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto){ + MgtShopIdByCodeVo mgtShopIdByCodeVo = new MgtShopIdByCodeVo(); + List<Long> shopIdList = shopMapper.getShopIdByCode(mgtShopIdByCodeDto); + if(shopIdList!=null&&!shopIdList.isEmpty()){ + String shopIdStr = shopIdList.stream() + .map(Object::toString) + .collect(Collectors.joining(",")); + mgtShopIdByCodeVo.setShopIds(shopIdStr); + } + return mgtShopIdByCodeVo; + } + + /** + * @description 获取商户list + * @author jqs + * @date 2023/6/12 14:37 + * @param mgtShopListDto + * @return List<MgtShopListSimpleVo> + */ + @Override + public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ + return shopMapper.listMgtShopSimpleVo(mgtShopListDto); + } + + /** + * @description 通过id获取商户列表 + * @author jqs + * @date 2023/6/14 17:53 + * @param shopIds + * @return List<MgtShopListSimpleVo> + */ + @Override + public List<MgtSimpleShopVo> listShopSimpleVoByIds(String shopIds){ + return shopMapper.listShopSimpleVoByIds(shopIds); + } + + /** + * @description pageMgtShopByCityCode + * @param page + * @param mgtShopByCodePageDto + * @return List<MgtSimpleShopVo> + * @author jqs34 + * @date 2023/6/14 20:56 + */ + @Override + public List<MgtSimpleShopVo> pageMgtShopByCityCode(Page page, MgtShopByCodePageDto mgtShopByCodePageDto){ + return shopMapper.pageMgtShopByCityCode(page, mgtShopByCodePageDto); + } + + /** + * @description pageMgtShopAuth + * @param page + * @param mgtShopAuthPageDto + * @return List<MgtShopAuthPageVo> + * @author jqs34 + * @date 2023/6/14 23:01 + */ + @Override + public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto){ + return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto); + } + + /** + * @description boardShopTotal + * @param + * @return MgtBulletinBoardVo + * @author jqs34 + * @date 2023/6/18 16:59 + */ + @Override + public MgtBulletinBoardVo boardShopTotal(){ + 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()); + Shop shop = this.getByShopId(shopAuthentication.getShopId()); + String applyNumber = IdUtils.simpleUUID(); + BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication); + shopAuthentication.setApplyNumber(applyNumber); + shopAuthentication.setAuditStatus(3); + shopAuthenticationService.saveOrUpdate(shopAuthentication); + //生成提交类 + SubmitInfo submitInfo = new SubmitInfo(); + submitInfo.setOut_request_no(applyNumber); + if(shopAuthentication.getMainType()==2){ + submitInfo.setOrganization_type("2"); + }else{ + submitInfo.setOrganization_type("4"); + } + //营业执照 + BusinessLicenseInfo business_license_info = new BusinessLicenseInfo(); + business_license_info.setBusiness_license_copy(shopAuthentication.getBlImage()); + business_license_info.setBusiness_license_number(shopAuthentication.getBlNumber()); + business_license_info.setMerchant_name(shopAuthentication.getBlShopName()); + business_license_info.setLegal_person(shopAuthentication.getBlCorporateName()); + business_license_info.setCompany_address(shopAuthentication.getBlRegisteredAddress()); + business_license_info.setBusiness_time(shopAuthentication.getBlBusinessDeanline()); + submitInfo.setBusiness_license_info(business_license_info); + //法人证件 + submitInfo.setId_doc_type("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); + IdCardInfo id_card_info = new IdCardInfo(); + id_card_info.setId_card_copy(shopAuthentication.getLpIcFront()); + id_card_info.setId_card_national(shopAuthentication.getLpIcBack()); + id_card_info.setId_card_name(shopAuthentication.getLpCorporateName()); + id_card_info.setId_card_number(shopAuthentication.getLpIdCard()); + id_card_info.setId_card_valid_time_begin(shopAuthentication.getLpIcStartDate()); + id_card_info.setId_card_valid_time(shopAuthentication.getLpIcEndDate()); + submitInfo.setId_card_info(id_card_info); + //企业填写 + if(shopAuthentication.getMainType()==2){ + submitInfo.setOwner(true); + List<UboInfo> ubo_info_list = new ArrayList<>(); + UboInfo uboInfo = new UboInfo(); + uboInfo.setUbo_id_doc_type("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); + uboInfo.setUbo_id_doc_copy(shopAuthentication.getUboIcFront()); + uboInfo.setUbo_id_doc_copy_back(shopAuthentication.getUboIcBack()); + uboInfo.setUbo_id_doc_name(shopAuthentication.getUboName()); + uboInfo.setUbo_id_doc_number(shopAuthentication.getUboIdCard()); + uboInfo.setUbo_id_doc_address(shopAuthentication.getUboIcAddress()); + uboInfo.setUbo_id_doc_period_begin(shopAuthentication.getUboIcStartDate()); + uboInfo.setUbo_id_doc_period_end(shopAuthentication.getUboIcEndDate()); + ubo_info_list.add(uboInfo); + submitInfo.setUbo_info_list(ubo_info_list); + } + //结算账户信息 + AccountInfo accountInfo = new AccountInfo(); + if(shopAuthentication.getSettlementAccountType().equals("1")){ + accountInfo.setBank_account_type("74"); + }else{ + accountInfo.setBank_account_type("75"); + } + accountInfo.setAccount_bank(shopAuthentication.getSaBank()); + accountInfo.setAccount_name(shopAuthentication.getSaAccountName()); + accountInfo.setBank_address_code(shopAuthentication.getSaBankCityCode()); + accountInfo.setBank_name(shopAuthentication.getSaBankName()); + accountInfo.setAccount_number(shopAuthentication.getSaNumber()); + submitInfo.setAccount_info(accountInfo); + ContactInfo contactInfo = new ContactInfo(); + contactInfo.setContact_type("65"); + contactInfo.setContact_name(shopAuthentication.getLpCorporateName()); + contactInfo.setContact_id_card_number(shopAuthentication.getLpIdCard()); + contactInfo.setMobile_phone(shopAuthentication.getLpMobilePhone()); + contactInfo.setContact_email(shopAuthentication.getLpContactEmail()); + submitInfo.setContact_info(contactInfo); + //店铺信息 + SalesSceneInfo salesSceneInfo = new SalesSceneInfo(); + salesSceneInfo.setStore_name(shop.getShopName()); + salesSceneInfo.setStore_url(""); + salesSceneInfo.setStore_qr_code(""); + submitInfo.setSales_scene_info(salesSceneInfo); + submitInfo.setMerchant_shortname(shop.getShopName()); + submitInfo.setBusiness_addition_pics(shopAuthentication.getBaPics()); + submitInfo.setBusiness_addition_desc(shopAuthentication.getBaDesc()); + //提交审核 + try { + WxShopUtils.ApplymentSubMch(submitInfo); + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + + /** + * @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<MgtMapIntTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto); + if (shopTypeTotal != null && shopTypeTotal.size() > 0) { + shopTypeTotal = listRemoveNull(shopTypeTotal); + plTotalShopTotalVo.setShopTypeVos(shopTypeTotal); + } + //获取商户状态 + List<MgtMapIntTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto); + if (shopStatusTotal != null && shopStatusTotal.size() > 0) { + shopStatusTotal = listRemoveNull(shopStatusTotal); + plTotalShopTotalVo.setShopStatusVos(shopStatusTotal); + } + //获取区域排名 + List<MgtMapIntTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto); + if (shopAreaRank != null && shopAreaRank.size() > 0) { + shopAreaRank = listRemoveNull(shopAreaRank); + plTotalShopTotalVo.setAreaRankVos(shopAreaRank); + } + //获取销售排名 + List<MgtMapIntTotalVo> 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<MgtMapIntTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto); + if (shopRecommendRank != null && shopRecommendRank.size() > 0) { + shopRecommendRank = listRemoveNull(shopRecommendRank); + plTotalShopTotalVo.setShopRecommendVos(shopRecommendRank); + } + return plTotalShopTotalVo; + } + + /** + * @description 去除空字符串 + * @author jqs + * @date 2023/6/27 17:35 + * @param MgtMapIntTotalVos + * @return List<MgtMapIntTotalVo> + */ + private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos){ + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + if(StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())){ + MgtMapIntTotalVos.remove(i); + } + } + return MgtMapIntTotalVos; + } + + /** + * @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; + } + + + /** + * @description 获取商户审核资料 + * @author jqs + * @date 2023/6/25 10:37 + * @param authId + * @return MgtShopAuthGetVo + */ + @Override + public MgtShopAuthGetVo getMgtShopAuth(String authId){ + MgtShopAuthGetVo shopAuthGetVo = new MgtShopAuthGetVo(); + ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId); + BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo); + return shopAuthGetVo; + } + + /** + * @description 获取商户验证信息 + * @author jqs + * @date 2023/6/26 10:38 + * @param authId + * @return MgtShopAuthCodeVo + */ + @Override + public MgtShopAuthCodeVo getMgtShopAuthCode(String authId){ + MgtShopAuthCodeVo mgtShopAuthCodeVo = new MgtShopAuthCodeVo(); + ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId); + mgtShopAuthCodeVo.setSignUrl(shopAuthentication.getSignUrl()); + 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; + } + + /** + * @description 获取用户管理商户 + * @author jqs + * @date 2023/7/14 10:00 + * @param userId + * @return Shop + */ + @Override + public Shop getShopByBelongUserId(Long userId){ + LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Shop::getDelFlag,0); + queryWrapper.eq(Shop::getBelongUserId,userId); + return this.getOne(queryWrapper,false); + } + + /** + * @description 员工端获取商户列表 + * @author jqs + * @date 2023/7/14 15:26 + * @param page + * @param staffShopPageDto + * @return List<StaffShopPageVo> + */ + @Override + public List<StaffShopPageVo> pageStaffShop(Page page, StaffShopPageDto staffShopPageDto){ + List<StaffShopPageVo> staffShopPageVoList = shopMapper.pageStaffShop(page, staffShopPageDto); + return staffShopPageVoList; + } + + /** + * @description 获取员工端商户数量统计 + * @author jqs + * @date 2023/7/14 15:51 + * @param userId + * @return StaffShopSimpleTotalVo + */ + @Override + public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){ + List<Long> userIdList = null; + if(remoteSysStaffService.isLeader()){ + userIdList = sysUserService.getUserIdsByDept(userId).getData(); + userIdList.add(userId); + }else { + userIdList.add(userId); + } + return shopMapper.getStaffSimpleTotal(userIdList); + } + + /** + * @description 员工端获取商户详情 + * @author jqs + * @date 2023/7/14 18:32 + * @param shopId + * @return StaffShopInfoGetVo + */ + @Override + public StaffShopInfoGetVo getStaffShopInfo(Long shopId) { + // 创建员工商店信息对象 + StaffShopInfoGetVo staffShopInfoGetVo = new StaffShopInfoGetVo(); + // 通过商店ID获取商店信息 + Shop shop = this.getByShopId(shopId); + // 获取商店文件列表 + List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId); + // 初始化商店图片 + String shopPicture = null; + // 遍历商店文件列表,获取商店图片 + if (shopFileList != null && !shopFileList.isEmpty()) { + for (ShopFile shopFile : shopFileList) { + if (shopFile.getFileType() == 1) { + shopPicture = shopFile.getFileUrl(); + break; + } + } + } + // 创建商店总览对象,并设置商店ID + MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); + merHomeShopTotalVo.setShopId(shopId); + // 通过远程订单服务获取商店总览信息 + MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); + // 获取商店总计信息 + ShopTotal shopTotal = shopTotalService.getById(shopId); + // 获取商店任务计数 + Integer taskCount = memberTaskService.getMemberIngTotal(shopId); + // 设置员工商店信息对象的属性 + staffShopInfoGetVo.setTodayReservation(0); + staffShopInfoGetVo.setUnHandleOrder(orderVo.getUnHandleOrder()); + staffShopInfoGetVo.setShopTask(taskCount); + staffShopInfoGetVo.setShopTurnover(orderVo.getShopTurnover()); + staffShopInfoGetVo.setCycleSurp(shopTotal.getUseableCyclePerson()); + staffShopInfoGetVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); + staffShopInfoGetVo.setShopId(shopId); + staffShopInfoGetVo.setShopName(shop.getShopName()); + staffShopInfoGetVo.setShopPicture(shopPicture); + staffShopInfoGetVo.setBusinessStartTime(shop.getBusinessStartTime()); + staffShopInfoGetVo.setBusinessEndTime(shop.getBusinessEndTime()); + staffShopInfoGetVo.setShopownerName(shop.getShopownerName()); + staffShopInfoGetVo.setShopownerPhone(shop.getShopownerPhone()); + staffShopInfoGetVo.setShopAddress(shop.getShopAreaName() + shop.getShopAddress()); + staffShopInfoGetVo.setShopCustomStatus(shop.getShopCustomStatus()); + staffShopInfoGetVo.setShopTags(shop.getShopTags()); + staffShopInfoGetVo.setSupportingCapacityFlag(shop.getSupportingCapacityFlag()); + staffShopInfoGetVo.setOperationPersonFlag(shop.getOperationPersonFlag()); + staffShopInfoGetVo.setExecutiveForceFlag(shop.getExecutiveForceFlag()); + staffShopInfoGetVo.setPatternFlag(shop.getPatternFlag()); + staffShopInfoGetVo.setConnectionFlag(shop.getConnectionFlag()); + staffShopInfoGetVo.setEconomicAbilityFlag(shop.getEconomicAbilityFlag()); + staffShopInfoGetVo.setRelationPartner(shop.getRelationPartner()); + staffShopInfoGetVo.setBusinessHistory(shop.getBusinessHistory()); + staffShopInfoGetVo.setNewAreaMember(0); + staffShopInfoGetVo.setAreaTurnover(BigDecimal.ZERO); + staffShopInfoGetVo.setFrozenFlag(shop.getFrozenFlag()); + // 如果商店类型为1,则获取该商店ID列表的新区域成员和总订单金额 + if (shop.getShopType() == 1) { + List<Long> shopIdList = this.listShopIdByShopId(shop.getShopId()); + if (shopIdList != null && !shopIdList.isEmpty()) { + Integer count = remoteMemberService.getAreaNewMember(shopIdList).getData(); + staffShopInfoGetVo.setNewAreaMember(count); + ShopTotal shopTotalAll = shopTotalService.shopsTotalByIds(shopIdList); + staffShopInfoGetVo.setAreaTurnover(shopTotalAll.getTotalOrderMoney()); + } + } + // 如果商店的扩展联系方式不为空,则设置员工商店信息对象的扩展联系方式列表 + String extendContacts = shop.getExtendContacts(); + if (StringUtils.isNotBlank(extendContacts)) { + List<ExtendContactsVo> extendContactsVoList = JSON.parseArray(extendContacts, ExtendContactsVo.class); + staffShopInfoGetVo.setExtendContactsVoList(extendContactsVoList); + } + // 返回员工商店信息对象 + return staffShopInfoGetVo; + } + + /** + * @description 修改商户评估 + * @author jqs + * @date 2023/7/15 10:18 + * @param staffShopEstimateEditDto + * @return void + */ + @Override + public void editShopEstimate(StaffShopEstimateEditDto staffShopEstimateEditDto){ + Shop shop = new Shop(); + shop.setShopId(staffShopEstimateEditDto.getShopId()); + shop.setSupportingCapacityFlag(staffShopEstimateEditDto.getSupportingCapacityFlag()); + shop.setOperationPersonFlag(staffShopEstimateEditDto.getOperationPersonFlag()); + shop.setExecutiveForceFlag(staffShopEstimateEditDto.getExecutiveForceFlag()); + shop.setPatternFlag(staffShopEstimateEditDto.getPatternFlag()); + shop.setConnectionFlag(staffShopEstimateEditDto.getConnectionFlag()); + shop.setEconomicAbilityFlag(staffShopEstimateEditDto.getEconomicAbilityFlag()); + shop.setRelationPartner(staffShopEstimateEditDto.getRelationPartner()); + shop.setBusinessHistory(staffShopEstimateEditDto.getBusinessHistory()); + shop.setUpdateUserId(staffShopEstimateEditDto.getUserId()); + shop.setUpdateTime(new Date()); + shopMapper.updateShop(shop); + } + + /** + * @description 修改店铺扩展联系人 + * @author jqs + * @date 2023/7/15 11:06 + * @param staffShopECEditDto + * @return void + */ + @Override + public void editExtendContacts(StaffShopECEditDto staffShopECEditDto){ + Shop shop = new Shop(); + String extendContacts = null; + List<ExtendContactsVo> extendContactsVoList = staffShopECEditDto.getExtendContactsVoList(); + if(extendContactsVoList!=null&&!extendContactsVoList.isEmpty()){ + extendContacts = JSON.toJSONString(extendContactsVoList); + } + shop.setExtendContacts(extendContacts); + shop.setShopId(staffShopECEditDto.getShopId()); + shop.setUpdateUserId(staffShopECEditDto.getUserId()); + shop.setUpdateTime(new Date()); + shopMapper.updateExtendContacts(shop); + } + + /** + * @description 修改店铺状态 + * @author jqs + * @date 2023/7/15 11:51 + * @param staffShopCCEditDto + * @return void + */ + @Override + public void editShopCustomStatus(StaffShopCCEditDto staffShopCCEditDto){ + Shop shop = new Shop(); + shop.setShopCustomStatus(staffShopCCEditDto.getShopCustomStatus()); + shop.setShopId(staffShopCCEditDto.getShopId()); + shop.setUpdateUserId(staffShopCCEditDto.getUserId()); + shop.setUpdateTime(new Date()); + shopMapper.updateShop(shop); + } } -- Gitblit v1.7.1