From c00d0d3bc399b6648145dfd955cedbea90f5f99d Mon Sep 17 00:00:00 2001 From: jiangqs <343695869@qq.com> Date: 星期日, 18 六月 2023 17:38:22 +0800 Subject: [PATCH] 看板 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 226 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 185 insertions(+), 41 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 d656658..4a39190 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 @@ -4,6 +4,8 @@ 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.uuid.IdUtils; import com.ruoyi.common.security.utils.CodeFactoryUtil; @@ -14,12 +16,17 @@ import com.ruoyi.shop.mapper.shop.ShopMapper; import com.ruoyi.shop.service.shop.*; 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.MgtShopIdByCodeDto; 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.service.RemoteConfigService; import com.ruoyi.system.api.service.RemoteMemberService; import com.ruoyi.system.api.service.RemoteOrderService; @@ -27,14 +34,14 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; - import javax.annotation.Resource; import java.math.BigDecimal; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.StringJoiner; +import java.util.stream.Collectors; /** * <p> @@ -83,6 +90,10 @@ @Resource private ShopAuthenticationService shopAuthenticationService; + @Resource + private ShopProportionService shopProportionService; + + /** * 获取商户详情 @@ -121,16 +132,20 @@ /** * 创建商户 - * @param MGTEditShopDto + * @param mgtEditShopDto */ @Override - public void createShop(MgtEditShopDto MGTEditShopDto){ + public void createShop(MgtEditShopDto mgtEditShopDto){ Shop shop = new Shop(); Boolean newShop = false; - if(MGTEditShopDto.getShopId()!=null){ - shop = this.getById(MGTEditShopDto.getShopId()); + 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()); @@ -140,22 +155,26 @@ shopRelUserService.deleteByShopId(shop.getShopId()); shopStaffService.clearShopStaffRelation(shop.getShopId()); }else{ + 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); newShop = true; } - BeanUtils.copyProperties(MGTEditShopDto,shop); + BeanUtils.copyProperties(mgtEditShopDto,shop); this.saveOrUpdate(shop); //商户编号 - if(MGTEditShopDto.getShopId()==null){ - String shopNo = CodeFactoryUtil.getShopNo(shop.getShopId()); + if(mgtEditShopDto.getShopId()==null){ + String shopNo = CodeFactoryUtil.getShopNo(); shop.setShopNumber(shopNo); } //商户标签 - String shopTagIds = MGTEditShopDto.getShopTagIds(); + String shopTagIds = mgtEditShopDto.getShopTagIds(); if(StringUtils.isNotBlank(shopTagIds)){ String[] shopTagIdArray = shopTagIds.split(","); ShopRelTag shopRelTag; @@ -176,10 +195,12 @@ this.saveOrUpdate(shop); } //商户归属员工 - SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); - handleShopStaff(shop.getShopId(),belongSysUser); + if(shop.getBelongUserId()!=null){ + SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); + handleShopStaff(shop.getShopId(),belongSysUser); + } //商户关联人员 - String relUserIds = MGTEditShopDto.getRelUserIds(); + String relUserIds = mgtEditShopDto.getRelUserIds(); if(StringUtils.isNotBlank(relUserIds)){ String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; @@ -203,12 +224,12 @@ 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(); @@ -220,6 +241,7 @@ } } if(newShop){ + //商户账户信息初始化 ShopAccount shopAccount = new ShopAccount(); shopAccount.setShopId(shop.getShopId()); shopAccount.setDelFlag(0); @@ -228,13 +250,23 @@ shopAccount.setTotalRefund(new BigDecimal("0")); shopAccount.setTotalProfitsharing(new BigDecimal("0")); shopAccount.setTotalMoney(new BigDecimal("0")); - shopAccountService.saveOrUpdate(shopAccount); + shopAccountService.save(shopAccount); + //商户认证信息初始化 String authId = IdUtils.simpleUUID(); ShopAuthentication shopAuthentication = new ShopAuthentication(); shopAuthentication.setAuthId(authId); shopAuthentication.setDelFlag(0); shopAuthentication.setShopId(shop.getShopId()); - shopAuthenticationService.saveOrUpdate(shopAuthentication); + 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); } } @@ -245,28 +277,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); } /** @@ -276,8 +310,12 @@ * @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); return mgtShopPageVoList; } @@ -469,5 +507,111 @@ 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; + } } -- Gitblit v1.7.1