| | |
| | | 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.ruoyi.shop.service.shop.*; |
| | | import com.ruoyi.shop.service.task.MemberTaskService; |
| | | import com.ruoyi.shop.service.task.ShopFileService; |
| | | import com.ruoyi.shop.service.task.ShopTaskService; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.poji.config.SysTag; |
| | |
| | | private ShopTransferRecordService shopTransferRecordService; |
| | | |
| | | @Resource |
| | | private RemoteUserService remoteUserService; |
| | | private RemoteSysStaffService remoteSysStaffService; |
| | | |
| | | @Resource |
| | | private RemoteSysStaffService remoteSysStaffService; |
| | | private ShopTaskService shopTaskService; |
| | | |
| | | /** |
| | | * 获取商户详情 |
| | |
| | | shop.setCreateUserId(mgtEditShopDto.getUserId()); |
| | | shop.setFrozenFlag(0); |
| | | shop.setCooperativeFlag(0); |
| | | shop.setAuthFlag(0); |
| | | newShop = true; |
| | | } |
| | | BeanUtils.copyProperties(mgtEditShopDto,shop); |
| | |
| | | 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.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; |
| | | } |
| | | |
| | | |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public MerHomeShopTotalVo getStaffHomeTotal(Long userId){ |
| | | public StaffHomeShopTotalVo 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(); |
| | | 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 |
| | | MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); |
| | | mgtShopIdByCodeDto.setBelongUserId(userId); |
| | | shopIds = shopMapper.getShopIdByCode(mgtShopIdByCodeDto); |
| | | Shop shop = this.getShopByBelongUserId(userId); |
| | | shopIds.add(shop.getShopId()); |
| | | } |
| | | //分别查询 |
| | | MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); |
| | | merHomeShopTotalVo.setShopIds(shopIds); |
| | | MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); |
| | | merHomeShopTotalVo.setTodayShop(null!=orderVo?orderVo.getTodayShop():0); |
| | | merHomeShopTotalVo.setUnHandleOrder(null!=orderVo?orderVo.getUnHandleOrder():0); |
| | | merHomeShopTotalVo.setShopTurnover(null!=orderVo?orderVo.getShopTurnover():BigDecimal.ZERO); |
| | | ShopTotal shopTotal = shopTotalService.shopsTotalByIds(shopIds); |
| | | merHomeShopTotalVo.setCycleSurp(null!=shopTotal?shopTotal.getUseableCyclePerson():0); |
| | | merHomeShopTotalVo.setExplorationSurp(null!=shopTotal?shopTotal.getUseableExperiencePerson():0); |
| | | Integer taskCount = memberTaskService.getMembersIngTotal(shopIds); |
| | | merHomeShopTotalVo.setTask(taskCount); |
| | | return merHomeShopTotalVo; |
| | | } |
| | | //分别查询 |
| | | StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(shopIds); |
| | | Integer shopTaskCount = shopTaskService.getShopIngTotal(shopIds); |
| | | staffHomeShopTotalVo.setFollowMember(0); |
| | | staffHomeShopTotalVo.setNewMember(0); |
| | | staffHomeShopTotalVo.setShopTask(shopTaskCount); |
| | | return staffHomeShopTotalVo; |
| | | } |
| | | /** |
| | | * 获取商户端 |
| | | * @param userId |
| | |
| | | }).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); |
| | | } |
| | | } |