From 25314d6c4fe5155691a75f9ea2be8608efeca359 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 02 六月 2023 18:56:54 +0800 Subject: [PATCH] 商户管理调整 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 198 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 176 insertions(+), 22 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 e448515..7c330bb 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,25 +1,31 @@ package com.ruoyi.shop.service.impl.shop; +import java.math.BigDecimal; +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.common.core.utils.DateUtils; +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.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.service.task.ShopFileService; import com.ruoyi.shop.util.CodeFactoryUtil; +import com.ruoyi.system.api.service.RemoteConfigService; +import com.ruoyi.system.api.service.RemoteMemberService; +import com.ruoyi.system.api.service.RemoteOrderService; +import com.ruoyi.system.api.service.RemoteUserService; +import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; +import com.ruoyi.system.api.domain.poji.shop.Shop; +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.sys.SysUser; -import com.ruoyi.shop.domain.dto.MgtChangeCoopDto; -import com.ruoyi.shop.domain.dto.MgtEditShopDto; -import com.ruoyi.shop.domain.dto.MgtEditShopTagDto; -import com.ruoyi.shop.domain.dto.MgtShopPageDto; -import com.ruoyi.system.domain.pojo.config.SysTag; -import com.ruoyi.system.domain.pojo.shop.*; -import com.ruoyi.shop.domain.vo.AppShopInfoVo; -import com.ruoyi.shop.domain.vo.MgtShopInfoVo; -import com.ruoyi.shop.domain.vo.MgtShopPageVo; -import com.ruoyi.system.service.config.SysTagService; -import com.ruoyi.system.service.shop.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.system.service.sys.ISysUserService; -import org.apache.commons.lang3.StringUtils; +import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; +import com.ruoyi.common.core.utils.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -51,7 +57,13 @@ private ShopCertificateService shopCertificateService; @Resource - private SysTagService sysTagService; + private RemoteConfigService configService; + + @Resource + private RemoteMemberService remoteMemberService; + + @Resource + private RemoteUserService sysUserService; @Resource private ShopRelTagService shopRelTagService; @@ -60,7 +72,17 @@ private ShopRelUserService shopRelUserService; @Resource - private ISysUserService sysUserService; + private RemoteOrderService remoteOrderService; + + @Resource + private ShopStaffService shopStaffService; + + @Resource + private ShopAccountService shopAccountService; + + @Resource + private ShopAuthenticationService shopAuthenticationService; + /** * 获取商户详情 @@ -104,19 +126,26 @@ @Override public void createShop(MgtEditShopDto MGTEditShopDto){ Shop shop = new Shop(); + Boolean newShop = false; if(MGTEditShopDto.getShopId()!=null){ shop = this.getById(MGTEditShopDto.getShopId()); - shop.setUpdateTime(new Date()); + shop.setUpdateTime(DateUtils.getNowDate()); 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); - shop.setCreateTime(new Date()); + shop.setShopStatus(3); + shop.setCreateTime(DateUtils.getNowDate()); shop.setCreateUserId(MGTEditShopDto.getUserId()); + shop.setFrozenFlag(0); + shop.setCooperativeFlag(0); + newShop = true; } BeanUtils.copyProperties(MGTEditShopDto,shop); this.saveOrUpdate(shop); @@ -136,7 +165,7 @@ for(String str : shopTagIdArray){ shopRelTag = new ShopRelTag(); tagid = Long.valueOf(str); - sysTag = sysTagService.getById(tagid); + sysTag = configService.getSysTag(tagid).getData(); shopRelTag.setDelFlag(0); shopRelTag.setShopId(shop.getShopId()); shopRelTag.setTagId(tagid); @@ -146,6 +175,9 @@ shop.setShopTags(shopTagSj.toString()); this.saveOrUpdate(shop); } + //商户归属员工 + SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); + handleShopStaff(shop.getShopId(),belongSysUser); //商户关联人员 String relUserIds = MGTEditShopDto.getRelUserIds(); if(StringUtils.isNotBlank(relUserIds)){ @@ -156,7 +188,7 @@ for(String str : relUserIdArray){ shopRelUser = new ShopRelUser(); userId = Long.valueOf(str); - sysUser = sysUserService.selectUserById(userId); + sysUser = sysUserService.getSysUser(userId).getData(); shopRelUser.setDelFlag(0); shopRelUser.setShopId(shop.getShopId()); shopRelUser.setUserId(userId); @@ -164,6 +196,7 @@ shopRelUser.setUserMobile(sysUser.getPhonenumber()); shopRelUser.setUserDeptId(sysUser.getDeptId()); shopRelUserService.save(shopRelUser); + handleShopStaff(shop.getShopId(),sysUser); } } //商户封面 @@ -186,6 +219,23 @@ shopFileService.save(shopFile); } } + if(newShop){ + 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.saveOrUpdate(shopAccount); + String authId = IdUtils.simpleUUID(); + ShopAuthentication shopAuthentication = new ShopAuthentication(); + shopAuthentication.setAuthId(authId); + shopAuthentication.setDelFlag(0); + shopAuthentication.setShopId(shop.getShopId()); + shopAuthenticationService.saveOrUpdate(shopAuthentication); + } } /** @@ -201,7 +251,7 @@ try { Date coopStartDate = simpleDateFormat.parse(coopStartTime); Date coopEndDate = simpleDateFormat.parse(coopEndTime); - Date nowTime = new Date(); + Date nowTime = DateUtils.getNowDate(); shop.setCooperationStartTime(coopStartDate); shop.setCooperationEndTime(coopEndDate); Boolean inTime = false; @@ -301,7 +351,7 @@ StringJoiner shopTagSj = new StringJoiner(","); for(String str : shopTagIdArray){ tagId = Long.valueOf(str); - sysTag = sysTagService.getById(tagId); + sysTag = configService.getSysTag(tagId).getData(); shopRelTag = new ShopRelTag(); shopRelTag.setDelFlag(0); shopRelTag.setShopId(shopId); @@ -316,4 +366,108 @@ this.saveOrUpdate(shop); } + /** + * 获取附近门店 + * @param appNearbyShopDto + * @return + */ + @Override + public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){ + AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); + Shop shop = null; + //获取附近商户 + if(member!=null&&member.getRelationShopId()!=null&&member.getBindingFlag()==1){ + //获取绑定商户 + 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{ + 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()); + appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); + appNearbyShopVo.setShopLatitude(shop.getShopLatitude()); + 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 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()); + Integer task = 0; + merHomeShopTotalVo.setTask(task); + merHomeShopTotalVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); + 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); + } + + } -- Gitblit v1.7.1