From cc1181b93c51c60a117846f9640d3f56370e67f3 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 03 八月 2023 13:32:26 +0800
Subject: [PATCH] Merge branch 'master' of ssh://sinata.cn:20202/java/HongRuiTang into master

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 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 1eb0023..6df823e 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
@@ -5,12 +5,15 @@
 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.github.binarywang.wxpay.exception.WxPayException;
+import com.ruoyi.common.core.constant.CacheConstants;
 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.bean.BeanUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
-import com.ruoyi.common.security.utils.CodeFactoryUtil;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.shop.domain.dto.*;
 import com.ruoyi.shop.domain.pojo.shop.*;
 import com.ruoyi.shop.domain.pojo.task.ShopFile;
@@ -20,6 +23,9 @@
 import com.ruoyi.shop.service.task.MemberTaskService;
 import com.ruoyi.shop.service.task.ShopFileService;
 import com.ruoyi.shop.service.task.ShopTaskService;
+import com.ruoyi.shop.util.WechatPayUtils;
+import com.ruoyi.shop.util.WxShopUtils;
+import com.ruoyi.shop.util.dto.*;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.config.SysTag;
@@ -29,6 +35,7 @@
 import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.service.*;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -104,7 +111,16 @@
     private RemoteSysStaffService remoteSysStaffService;
 
     @Resource
+    private RemoteFileService remoteFileService;
+
+    @Resource
     private ShopTaskService shopTaskService;
+
+    @Resource
+    private RedisService redisService;
+
+    @Resource
+    private WechatPayUtils wechatPayUtils;
 
     /**
      * 获取商户详情
@@ -192,6 +208,12 @@
             //清空归属
             shopRelUserService.deleteByShopId(shop.getShopId());
             shopStaffService.clearShopStaffRelation(shop.getShopId());
+            if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){
+                MgtMemberShopNameDto mgtMemberShopNameDto = new MgtMemberShopNameDto();
+                mgtMemberShopNameDto.setShopId(mgtEditShopDto.getShopId());
+                mgtMemberShopNameDto.setShopName(mgtEditShopDto.getShopName());
+                remoteMemberService.updateMemberShopName(mgtMemberShopNameDto);
+            }
         }else{
             if(shopSame!=null){
                 throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
@@ -213,10 +235,10 @@
             shop.setShopDetail(shopDetail);
         }
         //商户编号
-        if(mgtEditShopDto.getShopId()==null){
+        /*if(mgtEditShopDto.getShopId()==null){
             String shopNo = CodeFactoryUtil.getShopNo();
             shop.setShopNumber(shopNo);
-        }
+        }*/
         this.saveOrUpdate(shop);
         //商户标签
         String shopTagIds = mgtEditShopDto.getShopTagIds();
@@ -288,6 +310,13 @@
         if(newShop){
             //生成商户关联记录
             initNewShop(shop,mgtEditShopDto.getUserId());
+            CodeGetDto codeGetDto = new CodeGetDto();
+            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
+            codeGetDto.setUrl(url);
+            codeGetDto.setFileName("shop-"+shop.getShopId());
+            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
+            shop.setShopCode(codeUrl);
+            this.saveOrUpdate(shop);
         }
     }
 
@@ -408,6 +437,7 @@
             shop.setFrozenFlag(0);
         }
         shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag()));
+        this.saveOrUpdate(shop);
     }
 
     /**
@@ -557,6 +587,14 @@
             }
             mgtShopInfoVo.setShopTagIds(shopTagJs.toString());
         }
+        if(mgtShopInfoVo.getBelongUserId()!=null){
+            SysUser sysUser = sysUserService.getSysUser(mgtShopInfoVo.getBelongUserId()).getData();
+            mgtShopInfoVo.setBelongUserName(sysUser.getNickName());
+        }
+        if(mgtShopInfoVo.getBelongShopId()!=null){
+            Shop belongShop = this.getByShopId(mgtShopInfoVo.getBelongShopId());
+            mgtShopInfoVo.setBelongShopName(belongShop.getShopName());
+        }
         //商户关联用户
         List<ShopRelUser> shopRelUserList = shopRelUserService.listByShopId(shopId);
         if(shopRelUserList!=null&&!shopRelUserList.isEmpty()){
@@ -634,6 +672,9 @@
     public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){
         Shop shop = this.getByShopId(mgtTransferShopDto.getShopId());
         if(shop.getBelongUserId()!=null){
+            if(shop.getBelongUserId().equals(mgtTransferShopDto.getUserId())){
+                throw new ServiceException(AppErrorConstant.TRANS_NOT_MYSELF);
+            }
             ShopTransferRecord shopTransferRecord = new ShopTransferRecord();
             shopTransferRecord.setDelFlag(0);
             shopTransferRecord.setShopId(shop.getShopId());
@@ -737,14 +778,21 @@
     }
     /**
      * 获取商户端
-     * @param userId
+     * @param merBaseDto
      * @return
      */
     @Override
-    public MerHomeShopTotalVo getMerHomeTotal(Long userId){
+    public MerHomeShopTotalVo getMerHomeTotal(MerBaseDto merBaseDto){
+        Long userId = merBaseDto.getUserId();
         MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo();
         ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId);
         Long shopId = shopRelUser.getShopId();
+        //如果商户变动刷新token
+        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);
         merHomeShopTotalVo.setShopType(shop.getShopType());
@@ -914,11 +962,15 @@
      * @return  void
      */
     @Override
-    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto){
+    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException {
         ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId());
+        Shop shop = this.getByShopId(shopAuthentication.getShopId());
+        String applyNumber = IdUtils.simpleUUID();
         BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication);
+        shopAuthentication.setApplyNumber(applyNumber);
         shopAuthentication.setAuditStatus(3);
         shopAuthenticationService.saveOrUpdate(shopAuthentication);
+        wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
     }
 
     /**

--
Gitblit v1.7.1