From 3d2b51ea4520533de5e78f88dddf5b5c7dce4247 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 06 六月 2024 15:56:18 +0800
Subject: [PATCH] 管理后台添加营销员导入功能

---
 meiya-rest/src/main/java/com/sinata/rest/modular/member/service/impl/MemUserServiceImpl.java |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/meiya-rest/src/main/java/com/sinata/rest/modular/member/service/impl/MemUserServiceImpl.java b/meiya-rest/src/main/java/com/sinata/rest/modular/member/service/impl/MemUserServiceImpl.java
index dabc81a..c1fde58 100644
--- a/meiya-rest/src/main/java/com/sinata/rest/modular/member/service/impl/MemUserServiceImpl.java
+++ b/meiya-rest/src/main/java/com/sinata/rest/modular/member/service/impl/MemUserServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -13,6 +14,7 @@
 import com.sinata.rest.core.easemob.ConstEasemobKeyPrefix;
 import com.sinata.rest.core.easemob.EasemobApi;
 import com.sinata.rest.core.easemob.HttpRequestUtil;
+import com.sinata.rest.core.util.SqlUtil;
 import com.sinata.rest.core.util.ToolUtil;
 import com.sinata.rest.modular.mall.controller.body.BodyApplySaleUser;
 import com.sinata.rest.modular.mall.controller.body.BodyUserRegister;
@@ -32,6 +34,7 @@
 import com.sinata.rest.modular.system.model.SystemNotice;
 import com.sinata.rest.modular.system.service.ISmsRecordService;
 import com.sinata.rest.modular.system.service.ISystemSetService;
+import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -373,6 +376,7 @@
     @Override
     @Transactional
     public ApiUtils applySaleUser(BodyApplySaleUser body) {
+        log.info("推荐他人入司,入参:{}", body);
         MallOrder mallOrder = mallOrderService.getById(body.getOrderNo());
         log.info("推荐他人入司,订单:{}", mallOrder);
         if (mallOrder == null || mallOrder.getOrderType() == EnumMallGoodsGroupType.GOODS.index || mallOrder.getUseUserId() != 0) {
@@ -435,6 +439,18 @@
             // 更新入司用户信息
             applySaleUserUpdate(body, user, mallOrder.getUserId(), mallOrder.getOrderNo());
         }
+        // 当用户已申请并通过成为营销员,用户所在城市需显示营销员的城市,营销员的城市取套餐推荐人的所在城市
+        MemUser saleUser = this.getById(mallOrder.getSaleUserId());
+        if (saleUser != null && StrUtil.isNotBlank(saleUser.getCityCode())) {
+            String province = StrUtil.sub(saleUser.getCityCode(), 0, 2) + "0000";
+            String city = StrUtil.sub(saleUser.getCityCode(), 0, 4) + "00";
+            String county = saleUser.getCityCode();
+            user.setAgentProvinceCode(province);
+            user.setAgentCityCode(city);
+            user.setAgentCountyCode(county);
+            user.updateById();
+            log.info("用户:{}修改了营销员城市地址",user.getRealName());
+        }
 
 //        if (mallOrder.getUseUserId() != null && !mallOrder.getUseUserId().equals(mallOrder.getUserId())) {
 //            // 被推荐使用权益的
@@ -453,12 +469,14 @@
 //                        .build().insert();
 //            }
 //        } else {
-            // 添加邀请关系
-            MemUserRelation.builder()
-                    .id(user.getId())
-                    .parentId(shareUserRelation.getId())
-                    .relationPath(shareUserRelation.getRelationPath() + "/" + user.getId())
-                    .build().insert();
+            // 添加更新用户关系
+            memUserRelationService.saveOrUpdate(
+                    MemUserRelation.builder()
+                            .id(user.getId())
+                            .parentId(shareUserRelation.getId())
+                            .relationPath(shareUserRelation.getRelationPath() + "/" + user.getId())
+                            .build()
+            );
 //        }
 
         // 订单材料受赠人,0未申请入司
@@ -470,7 +488,7 @@
 
     public void applySaleUserUpdate(BodyApplySaleUser body, MemUser user, Integer equityUserId, String equityOrderNo) {
         // 判断是否已经申请入司
-        Assert.isFalse(user.getIsLeaveOffice() != -1, "该用户已有入司申请!");
+        Assert.isFalse(user.getAuditState()==1 && user.getIsLeaveOffice() == 0, "该用户已有入司申请!");
 
         user = user.setCardType(body.getCardType())
                 .setRealName(body.getRealName())
@@ -644,4 +662,8 @@
         }
     }
 
+    @Override
+    public List<MemUser> queryLevelUpUserList() {
+        return baseMapper.queryLevelUpUserList();
+    }
 }

--
Gitblit v1.7.1