mitao
2024-06-06 3d2b51ea4520533de5e78f88dddf5b5c7dce4247
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();
    }
}