From 0f9d03ee930d1c2dc62b34dd2c3522cda91f93cf Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期二, 06 六月 2023 14:29:33 +0800 Subject: [PATCH] 基础配置 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 158 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 137 insertions(+), 21 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 85710a6..d656658 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 @@ -3,28 +3,33 @@ 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.utils.StringUtils; +import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.security.utils.CodeFactoryUtil; 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.RemoteConfigService; -import com.ruoyi.system.api.RemoteUserService; -import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; -import com.ruoyi.system.api.domain.poji.shop.Shop; +import com.ruoyi.shop.service.task.ShopFileService; +import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; 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 com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; +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 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; @@ -51,8 +56,11 @@ @Resource private ShopCertificateService shopCertificateService; - /*@Resource - private RemoteConfigService configService;*/ + @Resource + private RemoteConfigService configService; + + @Resource + private RemoteMemberService remoteMemberService; @Resource private RemoteUserService sysUserService; @@ -62,6 +70,18 @@ @Resource private ShopRelUserService shopRelUserService; + + @Resource + private RemoteOrderService remoteOrderService; + + @Resource + private ShopStaffService shopStaffService; + + @Resource + private ShopAccountService shopAccountService; + + @Resource + private ShopAuthenticationService shopAuthenticationService; /** @@ -106,6 +126,7 @@ @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()); @@ -115,10 +136,16 @@ 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.setShopStatus(3); shop.setCreateTime(new Date()); shop.setCreateUserId(MGTEditShopDto.getUserId()); + shop.setFrozenFlag(0); + shop.setCooperativeFlag(0); + newShop = true; } BeanUtils.copyProperties(MGTEditShopDto,shop); this.saveOrUpdate(shop); @@ -138,16 +165,19 @@ for(String str : shopTagIdArray){ shopRelTag = new ShopRelTag(); tagid = Long.valueOf(str); - //sysTag = configService.getSysTag(tagid).getData(); + sysTag = configService.getSysTag(tagid).getData(); shopRelTag.setDelFlag(0); shopRelTag.setShopId(shop.getShopId()); shopRelTag.setTagId(tagid); shopRelTagService.save(shopRelTag); - //shopTagSj.add(sysTag.getTagName()); + shopTagSj.add(sysTag.getTagName()); } 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)){ @@ -166,6 +196,7 @@ shopRelUser.setUserMobile(sysUser.getPhonenumber()); shopRelUser.setUserDeptId(sysUser.getDeptId()); shopRelUserService.save(shopRelUser); + handleShopStaff(shop.getShopId(),sysUser); } } //商户封面 @@ -187,6 +218,23 @@ shopFile.setShopId(shop.getShopId()); 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); } } @@ -303,7 +351,7 @@ StringJoiner shopTagSj = new StringJoiner(","); for(String str : shopTagIdArray){ tagId = Long.valueOf(str); - sysTag = sysUserService.getSysTag(tagId).getData(); + sysTag = configService.getSysTag(tagId).getData(); shopRelTag = new ShopRelTag(); shopRelTag.setDelFlag(0); shopRelTag.setShopId(shopId); @@ -327,12 +375,23 @@ public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){ AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); Shop shop = null; - if(member.getRelationShopId()!=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{ - //获取附近商户 - 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()); @@ -351,7 +410,64 @@ public Shop getByShopId(Long shopId){ LambdaQueryWrapper<Shop> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Shop::getDelFlag, 0).eq(Shop::getShopId, shopId); - Shop shop = this.getOne(queryWrapper); + 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