| | |
| | | package com.ruoyi.shop.service.impl.shop; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | 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.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ProfitSharingReceiverRequest; |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.common.core.utils.ExceptionUtil; |
| | | 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.pojo.task.ShopFile; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopTask; |
| | | import com.ruoyi.shop.domain.vo.*; |
| | | import com.ruoyi.shop.domain.vo.MgtShopPageVo; |
| | | import com.ruoyi.shop.enums.WxApplyMentStateEnum; |
| | | import com.ruoyi.shop.mapper.shop.ShopMapper; |
| | | import com.ruoyi.shop.service.shop.*; |
| | |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.constant.SecurityConstant; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.poji.config.OneClinkSyncing; |
| | | 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.shop.ShopAppointableTime; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysUser; |
| | | import com.ruoyi.system.api.domain.vo.*; |
| | | import com.ruoyi.system.api.service.*; |
| | | import lombok.extern.log4j.Log4j2; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.rmi.ServerException; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | @Resource |
| | | private RedisService redisService; |
| | | |
| | | |
| | | @Resource |
| | | private WechatPayUtils wechatPayUtils; |
| | | |
| | | |
| | | @Resource |
| | | private ShopDetailService shopDetailService; |
| | | |
| | | |
| | | @Resource |
| | | private RemoteUserService remoteUserService; |
| | | |
| | | |
| | | @Resource |
| | | private ShopAppointableTimeService shopAppointableTimeService; |
| | | |
| | | @Value("${callback_path}") |
| | | private String callback_path; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取商户详情 |
| | | * |
| | |
| | | } |
| | | return appShopInfoVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 创建商户 |
| | | * |
| | | * @param mgtEditShopDto |
| | | */ |
| | | @Override |
| | | public void createShop(MgtEditShopDto mgtEditShopDto){ |
| | | public void createShop(MgtEditShopDto mgtEditShopDto) { |
| | | Shop shop = new Shop(); |
| | | Boolean newShop = false; |
| | | BigDecimal zeroBig = BigDecimal.ZERO; |
| | | //验证关联账号唯一 |
| | | String relUserIds = mgtEditShopDto.getRelUserIds(); |
| | | if(StringUtils.isNotBlank(relUserIds)) { |
| | | if(relUserIds.startsWith(",")){ |
| | | relUserIds = relUserIds.substring(1); |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | // if(StringUtils.isNotBlank(relUserIds)) { |
| | | // if(relUserIds.startsWith(",")){ |
| | | // relUserIds = relUserIds.substring(1); |
| | | // } |
| | | // 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 (mgtEditShopDto.getShopId() != null) { |
| | | //取消验重 |
| | | /*if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){ |
| | | throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); |
| | |
| | | shopFileService.deleteByShopId(shop.getShopId()); |
| | | shopRelTagService.deleteByShopId(shop.getShopId()); |
| | | shopRelUserService.deleteByShopId(shop.getShopId()); |
| | | //默认登录账号开关 开启后原默认账号开关关闭 |
| | | List<Long> openIdList = Arrays.stream(mgtEditShopDto.getRelUserOpenIds().split(",")) |
| | | .map(String::trim) |
| | | .filter(StringUtils::isNotBlank) |
| | | .map(Long::valueOf) |
| | | .collect(Collectors.toList()); |
| | | if ( !openIdList.isEmpty()) { |
| | | shopRelUserService.setDefaultCloseByUserIdList(openIdList); |
| | | } |
| | | |
| | | //清空归属 |
| | | shopStaffService.clearShopStaffRelation(shop.getShopId()); |
| | | if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){ |
| | |
| | | handleShopStaff(shop.getShopId(),belongSysUser); |
| | | }*/ |
| | | //商户关联人员 |
| | | String[] openIds = mgtEditShopDto.getRelUserOpenIds().split(",");//开启默认登录账号 |
| | | if(StringUtils.isNotBlank(relUserIds)){ |
| | | shopStaffService.clearShopStaffRelation(shop.getShopId()); |
| | | String[] relUserIdArray = relUserIds.split(","); |
| | |
| | | shopRelUser.setUserName(sysUser.getNickName()); |
| | | shopRelUser.setUserMobile(sysUser.getPhonenumber()); |
| | | shopRelUser.setUserDeptId(sysUser.getDeptId()); |
| | | shopRelUser.setIsDefault((openIds.length > 0 && Arrays.asList(openIds).contains(str)) ? 1 : 0); |
| | | shopRelUserService.save(shopRelUser); |
| | | handleShopStaff(shop.getShopId(),sysUser); |
| | | } |
| | |
| | | }else{ |
| | | shop.setCooperativeFlag(0); |
| | | } |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); |
| | | shop.setShopStatus(handelShopStatus(null,shop.getCooperativeFlag(), null)); |
| | | shop.setUpdateTime(new Date()); |
| | | shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId()); |
| | | this.saveOrUpdate(shop); |
| | |
| | | }else{ |
| | | shop.setFrozenFlag(0); |
| | | } |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(), null, null)); |
| | | this.saveOrUpdate(shop); |
| | | } |
| | | |
| | |
| | | */ |
| | | private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){ |
| | | Integer shopStatus = 1; |
| | | if(frozenFlag == 1){ |
| | | if(null != frozenFlag && frozenFlag == 1){ |
| | | shopStatus = 0; |
| | | return shopStatus; |
| | | } |
| | | if(authFlag == 0){ |
| | | shopStatus = 3; |
| | | if(null != cooperativeFlag && cooperativeFlag == 0){ |
| | | shopStatus = 2; |
| | | return shopStatus; |
| | | } |
| | | if(cooperativeFlag == 0){ |
| | | shopStatus = 2; |
| | | if(null != authFlag && authFlag == 0){ |
| | | shopStatus = 3; |
| | | return shopStatus; |
| | | } |
| | | return shopStatus; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto){ |
| | | public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto,List<Long> scope){ |
| | | if (StringUtils.isNotBlank(mgtShopPageDto.getShopTags())) { |
| | | mgtShopPageDto.setShopTags(mgtShopPageDto.getShopTags().replace(",", "|")); |
| | | } |
| | | List<Long> belongUserIds = null; |
| | | if(null != mgtShopPageDto.getDeptId()){ |
| | | if(null != mgtShopPageDto.getBelongUserId()){ |
| | | belongUserIds = new ArrayList<>(); |
| | | belongUserIds.add(mgtShopPageDto.getBelongUserId()); |
| | | }else{ |
| | | R<List<SysUser>> r = sysUserService.getUsersByDeptId(mgtShopPageDto.getDeptId()); |
| | | if(r.getCode() != 200){ |
| | | throw new RuntimeException(r.getMsg()); |
| | | } |
| | | belongUserIds = r.getData().stream().map(SysUser::getUserId).collect(Collectors.toList()); |
| | | } |
| | | List<Integer> associatedAccount = null; |
| | | if(StringUtils.isNotEmpty(mgtShopPageDto.getAssociatedAccount())){ |
| | | associatedAccount = Arrays.asList(mgtShopPageDto.getAssociatedAccount().split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()); |
| | | } |
| | | // 分页查询商铺信息 |
| | | List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto, belongUserIds); |
| | | List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto,scope, associatedAccount); |
| | | // 如果查询结果不为空 |
| | | if (!mgtShopPageVoList.isEmpty()) { |
| | | // 创建签约用户ID集合和所属用户ID集合 |
| | |
| | | if(shopRelUserList!=null&&!shopRelUserList.isEmpty()){ |
| | | StringJoiner shopUserJs = new StringJoiner(","); |
| | | StringJoiner shopUserNameJs = new StringJoiner(","); |
| | | StringJoiner relUserOpenIds = new StringJoiner(","); |
| | | for(ShopRelUser shopRelUser : shopRelUserList){ |
| | | shopUserJs.add(shopRelUser.getUserId().toString()); |
| | | shopUserNameJs.add(shopRelUser.getUserName()); |
| | | if (shopRelUser.getIsDefault()==1){ |
| | | relUserOpenIds.add(shopRelUser.getUserId().toString()); |
| | | } |
| | | } |
| | | mgtShopInfoVo.setRelUserIds(shopUserJs.toString()); |
| | | mgtShopInfoVo.setRelUsers(shopUserNameJs.toString()); |
| | | mgtShopInfoVo.setRelUserOpenIds(relUserOpenIds.toString()); |
| | | } |
| | | //商户图片 |
| | | List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId); |
| | |
| | | staffHomeShopTotalVo.setShopTask(shopTaskCount); |
| | | return staffHomeShopTotalVo; |
| | | } |
| | | |
| | | /** |
| | | * 获取商户端 |
| | | * |
| | | * @param merBaseDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public MerHomeShopTotalVo getMerHomeTotal(MerBaseDto merBaseDto){ |
| | | public MerHomeShopTotalVo getMerHomeTotal(MerBaseDto merBaseDto) { |
| | | Long userId = merBaseDto.getUserId(); |
| | | MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); |
| | | ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId); |
| | | Long shopId = shopRelUser.getShopId(); |
| | | Long shopId = merBaseDto.getShopId(); |
| | | //如果商户变动刷新token |
| | | if(!shopId.equals(merBaseDto.getShopId())){ |
| | | String userKey = SecurityUtils.getUserKey(); |
| | | redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); |
| | | throw new ServiceException("登录状态已过期",401); |
| | | } |
| | | // if(!shopId.equals(merBaseDto.getShopId())){ |
| | | // String userKey = SecurityUtils.getUserKey(); |
| | | // redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); |
| | | // throw new ServiceException("登录状态已过期",401); |
| | | // } |
| | | merHomeShopTotalVo.setShopId(shopId); |
| | | Shop shop = this.getById(shopId); |
| | | if(shop.getFrozenFlag()==1){ |
| | | if (shop.getFrozenFlag() == 1) { |
| | | String userKey = SecurityUtils.getUserKey(); |
| | | redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); |
| | | throw new ServiceException("商户已被冻结,请联系管理员",401); |
| | | redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + userKey); |
| | | throw new ServiceException("商户已被冻结,请联系管理员", 401); |
| | | } |
| | | merHomeShopTotalVo.setShopType(shop.getShopType()); |
| | | MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); |
| | |
| | | merHomeShopTotalVo.setExplorationSurp(orderVo.getExplorationSurp()); |
| | | merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag()); |
| | | merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag()); |
| | | int unHandleReserve = shopAppointableTimeService.count(new LambdaQueryWrapper<ShopAppointableTime>().eq(ShopAppointableTime::getShopId, shopId).eq(ShopAppointableTime::getStatus, 1)); |
| | | merHomeShopTotalVo.setUnHandleReserve(unHandleReserve); |
| | | return merHomeShopTotalVo; |
| | | } |
| | | |
| | |
| | | * @return List<MgtShopListSimpleVo> |
| | | */ |
| | | @Override |
| | | public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ |
| | | return shopMapper.listMgtShopSimpleVo(mgtShopListDto); |
| | | public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto,List<Long> scope){ |
| | | return shopMapper.listMgtShopSimpleVo(mgtShopListDto,scope); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @date 2023/6/14 23:01 |
| | | */ |
| | | @Override |
| | | public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto){ |
| | | return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto); |
| | | public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto,List<Long> scope){ |
| | | return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto,scope); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MgtShopHFTXAuthPageVo> pageMgtShopHFTXAuth(Page page, MgtShopHFTXAuthPageDto mgtShopAuthPageDto) { |
| | | return shopMapper.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto); |
| | | public List<MgtShopHFTXAuthPageVo> pageMgtShopHFTXAuth(Page page, MgtShopHFTXAuthPageDto mgtShopAuthPageDto, |
| | | List<Long> scope) { |
| | | return shopMapper.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto,scope); |
| | | } |
| | | |
| | | /** |
| | |
| | | userIdList.add(mgtBasePlatformDto.getUserId()); |
| | | } else { |
| | | MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); |
| | | mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId()); |
| | | mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId()); |
| | | mgtUserIdByDept = configService.getUserIdByDept(mgtUserIdByDept).getData(); |
| | | userIdList = mgtUserIdByDept.getUserIdList(); |
| | | } |
| | |
| | | } |
| | | //数据权限 |
| | | List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); |
| | | List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); |
| | | if(null != userIdList){ |
| | | userIdList.addAll(userIds); |
| | | }else{ |
| | | userIdList = userIds; |
| | | if(null != userIds){ |
| | | List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); |
| | | if(null != userIdList){ |
| | | userIdList.addAll(userIds); |
| | | }else{ |
| | | userIdList = userIds; |
| | | } |
| | | mgtBasePlatformDto.setUserIdList(userIdList); |
| | | } |
| | | mgtBasePlatformDto.setUserIdList(userIdList); |
| | | |
| | | //获取基础统计 |
| | | MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(userIds); |
| | |
| | | }).collect(Collectors.toList()); |
| | | return simpleShopVoList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 获取用户管理商户 |
| | | * @author jqs |
| | | * @date 2023/7/14 10:00 |
| | | * @param userId |
| | | * @return Shop |
| | | * @return Shop |
| | | * @description 获取用户管理商户 |
| | | * @author jqs |
| | | * @date 2023/7/14 10:00 |
| | | */ |
| | | @Override |
| | | public List<Shop> getShopByBelongUserId(Long userId){ |
| | | public List<Shop> getShopByBelongUserId(Long userId) { |
| | | LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(Shop::getDelFlag,0); |
| | | queryWrapper.eq(Shop::getBelongUserId,userId); |
| | | queryWrapper.eq(Shop::getDelFlag, 0); |
| | | queryWrapper.eq(Shop::getBelongUserId, userId); |
| | | return this.list(queryWrapper); |
| | | } |
| | | |
| | |
| | | private void applySuccessUpdateShopStatus(Long shopId){ |
| | | // 更新商户状态为正常 |
| | | Shop shop = this.getById(shopId); |
| | | Integer shopStatus = handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), 1); |
| | | Integer shopStatus = handelShopStatus(null, null, 1); |
| | | LambdaUpdateWrapper<Shop> updateWrapper = Wrappers.lambdaUpdate(); |
| | | updateWrapper.eq(Shop::getShopId, shopId) |
| | | .set(Shop::getShopStatus, shopStatus) |
| | |
| | | ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request); |
| | | if(StringUtils.isNotBlank(result.getAccount())){ |
| | | shop.setAccountFlag(1); |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); |
| | | shop.setShopStatus(handelShopStatus(null , null,shop.getAuthFlag())); |
| | | this.saveOrUpdate(shop); |
| | | } |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public List<Shop> getShopBySysUserIds(List<Long> userIds) { |
| | | if(userIds.size() == 0){ |
| | | userIds.add(0L); |
| | | if(null == userIds || userIds.size() == 0){ |
| | | return new ArrayList<>(); |
| | | } |
| | | List<Shop> list = this.list(new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1).in("belong_user_id", userIds)); |
| | | QueryWrapper<Shop> queryWrapper = new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1); |
| | | if(null != userIds && userIds.size() > 0){ |
| | | queryWrapper.in("belong_user_id", userIds); |
| | | } |
| | | List<Shop> list = this.list(queryWrapper); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<Shop> getFranchiseeIdsBYDealerId(Long shopId) { |
| | | return shopMapper.getFranchiseeIdsBYDealerId(shopId); |
| | | } |
| | | |
| | | /** |
| | | * 修改商户类型 |
| | | * @param shopId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R<Void> changeShopType(Long shopId) { |
| | | Shop shop = shopMapper.selectById(shopId); |
| | | if(null == shop|| shop.getDelFlag() != 0){ |
| | | return R.fail("商户不存在"); |
| | | } |
| | | //商户修改类型 1-经销商 2-加盟商 |
| | | shop.setShopType(shop.getShopType()==1?2:1); |
| | | if (shop.getShopType()==2){ |
| | | //经销商转加盟商: 先解绑该经销商下所有加盟商 |
| | | shopMapper.setBelongShopIdNull(shopId); |
| | | } |
| | | shop.setUpdateUserId(SecurityUtils.getUserId()); |
| | | shopMapper.updateById(shop); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public Page<MgtOneClinkSyncingShopPageVo> getMgtShopPageVoByShopIds(MGtOneClinkSyncingShopPageDTO dto) { |
| | | Page<MgtOneClinkSyncingShopPageVo> page = new Page<>(); |
| | | page.setSize(dto.getPageSize()); |
| | | page.setCurrent(dto.getPageNum()); |
| | | List<MgtOneClinkSyncingShopPageVo> mgtShopPageVoList = shopMapper.getMgtShopPageVoByShopIds(page,dto.getShopIds()); |
| | | return page.setRecords(mgtShopPageVoList); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R updateShopByOneClinkSyncing(OneClinkSyncing oneClinkSyncing) { |
| | | if (StringUtils.isBlank(oneClinkSyncing.getShopIds())) { |
| | | return R.fail("请选择要更新的门店"); |
| | | } |
| | | // 1. 转换门店ID列表 |
| | | List<Long> shopIdList = Arrays.stream(oneClinkSyncing.getShopIds().split(",")) |
| | | .map(String::trim) |
| | | .filter(StringUtils::isNotBlank) |
| | | .map(Long::parseLong) |
| | | .collect(Collectors.toList()); |
| | | // 批量删除封面和Banner图 |
| | | shopFileService.deleteBatchByShopIds(shopIdList); |
| | | //批量添加封面图 |
| | | List<ShopFile> coverUrlList = shopIdList.stream() |
| | | .map(shopId -> new ShopFile() |
| | | .setShopId(shopId) |
| | | .setFileType(1) |
| | | .setFileUrl(oneClinkSyncing.getCoverUrl()) |
| | | .setDelFlag(0)) |
| | | .collect(Collectors.toList()); |
| | | shopFileService.saveBatch(coverUrlList); |
| | | //批量添加banner图 |
| | | List<String> bannerUrlList = Arrays.stream(oneClinkSyncing.getDetailsPicture().split(",")) |
| | | .map(String::trim) |
| | | .filter(StringUtils::isNotBlank) |
| | | .collect(Collectors.toList()); |
| | | List<ShopFile> bannerList = new ArrayList<>(); |
| | | for (Long shopId : shopIdList) { |
| | | for (String bannerUrl : bannerUrlList) { |
| | | bannerList.add(new ShopFile() |
| | | .setShopId(shopId) |
| | | .setFileType(2) // Banner图 |
| | | .setFileUrl(bannerUrl) |
| | | .setDelFlag(0)); |
| | | } |
| | | } |
| | | shopFileService.saveBatch(coverUrlList); |
| | | |
| | | //批量修改门店信息 |
| | | oneClinkSyncing.setShopIdList(shopIdList); |
| | | shopMapper.updateShopByOneClinkSyncing(oneClinkSyncing); |
| | | return R.ok(); |
| | | } |
| | | } |