fanzherong_v 2 weken geleden
bovenliggende
commit
156ec3f1c5

+ 71 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizsupplier/service/impl/BizSupplierServiceImpl.java

@@ -19,6 +19,7 @@ import cn.hutool.core.util.PhoneUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -26,6 +27,13 @@ import vip.xiaonuo.biz.modular.bizsupplier.entity.BizSupplierAccount;
 import vip.xiaonuo.biz.modular.bizsupplier.entity.BizSupplierTransport;
 import vip.xiaonuo.biz.modular.bizsupplier.enums.BizSupplierAccountEnum;
 import vip.xiaonuo.biz.modular.bizsupplier.enums.BizSupplierEnum;
+import vip.xiaonuo.biz.modular.bizsupplier.service.BizSupplierAccountService;
+import vip.xiaonuo.biz.modular.customer.entity.BizCustomer;
+import vip.xiaonuo.biz.modular.customer.entity.BizCustomerAccount;
+import vip.xiaonuo.biz.modular.user.entity.BizUser;
+import vip.xiaonuo.biz.modular.user.enums.BizUserStatusEnum;
+import vip.xiaonuo.biz.modular.user.mapper.BizUserMapper;
+import vip.xiaonuo.biz.modular.user.service.BizUserService;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.biz.modular.bizsupplier.entity.BizSupplier;
@@ -35,6 +43,9 @@ import vip.xiaonuo.biz.modular.bizsupplier.param.BizSupplierEditParam;
 import vip.xiaonuo.biz.modular.bizsupplier.param.BizSupplierIdParam;
 import vip.xiaonuo.biz.modular.bizsupplier.param.BizSupplierPageParam;
 import vip.xiaonuo.biz.modular.bizsupplier.service.BizSupplierService;
+import vip.xiaonuo.common.util.CommonCryptogramUtil;
+import vip.xiaonuo.dev.api.DevConfigApi;
+import vip.xiaonuo.sys.api.SysUserApi;
 
 import java.util.List;
 
@@ -47,6 +58,23 @@ import java.util.List;
 @Service
 public class BizSupplierServiceImpl extends ServiceImpl<BizSupplierMapper, BizSupplier> implements BizSupplierService {
 
+    private static final String SNOWY_SYS_DEFAULT_PASSWORD_KEY = "SNOWY_SYS_DEFAULT_PASSWORD";
+
+    @Resource
+    private BizSupplierAccountService bizSupplierAccountService;
+
+    @Resource
+    private BizUserService bizUserService;
+
+    @Resource
+    private BizUserMapper bizUserMapper;
+
+    @Resource
+    private DevConfigApi devConfigApi;
+
+    @Resource
+    private SysUserApi sysUserApi;
+
     @Override
     public Page<BizSupplier> page(BizSupplierPageParam bizSupplierPageParam) {
         QueryWrapper<BizSupplier> queryWrapper = new QueryWrapper<BizSupplier>().checkSqlInjection();
@@ -78,6 +106,45 @@ public class BizSupplierServiceImpl extends ServiceImpl<BizSupplierMapper, BizSu
         }
         BizSupplier bizSupplier = BeanUtil.toBean(bizSupplierAddParam, BizSupplier.class);
         this.save(bizSupplier);
+
+
+        //查询账号是否添加过
+        if(ObjectUtil.isNotEmpty(bizSupplierAddParam.getSupplierPhone())){
+            addAccount(bizSupplier);
+        }
+
+
+    }
+
+    public void addAccount(BizSupplier bizSupplier){
+
+        //根据账号是否存在
+        BizUser user = bizUserService.getOne(new QueryWrapper<BizUser>().lambda().
+                eq(BizUser::getAccount, bizSupplier.getSupplierPhone()).
+                last("limit 1"));
+        if(ObjectUtil.isNotNull(user)){
+            throw new CommonException("供应商手机号已经存在!");
+        }
+
+        // 添加供应商登录账号
+        BizUser bizUser = new BizUser();
+        bizUser.setCustomerId(bizSupplier.getId());
+        bizUser.setName(bizSupplier.getSupplierPhone());
+        bizUser.setAccount(bizSupplier.getSupplierPhone());
+        bizUser.setUserType("4");
+        // 设置密码
+        bizUser.setPassword(CommonCryptogramUtil.doHashValue(devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_PASSWORD_KEY)));
+        // 设置状态
+        bizUser.setUserStatus(BizUserStatusEnum.ENABLE.getValue());
+        this.bizUserMapper.insert(bizUser);
+
+        // 添加供应商角色
+        this.sysUserApi.grantRoleType(bizUser.getId(), "供应商");
+
+        BizSupplierAccount bizSupplierAccount = new BizSupplierAccount();
+        bizSupplierAccount.setSupplierId(bizSupplier.getId());
+        bizSupplierAccount.setSupplierAccount(bizSupplier.getSupplierPhone());
+        bizSupplierAccountService.save(bizSupplierAccount);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -99,6 +166,10 @@ public class BizSupplierServiceImpl extends ServiceImpl<BizSupplierMapper, BizSu
                 throw new CommonException("供货商已存在!");
             }
         }
+        if(!StringUtils.equals(bizSupplier.getSupplierPhone(),bizSupplierEditParam.getSupplierPhone())){
+            bizSupplier.setSupplierPhone(bizSupplierEditParam.getSupplierPhone());
+            addAccount(bizSupplier);
+        }
         BeanUtil.copyProperties(bizSupplierEditParam, bizSupplier);
         this.updateById(bizSupplier);
     }

+ 1 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/record/controller/BizRecordController.java

@@ -327,6 +327,7 @@ public class BizRecordController {
     @Operation(summary = "修改卸货重量")
     @CommonLog("修改卸货重量")
     @PostMapping("/biz/record/updateWeight")
+    @CommonNoRepeat
     public CommonResult<String> updateWeight(@RequestBody @Valid BizRecordEditParam bizRecordEditParam) {
         bizRecordService.updateWeight(bizRecordEditParam);
         return CommonResult.ok();

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java

@@ -849,6 +849,11 @@ public class BizUserServiceImpl extends ServiceImpl<BizUserMapper, BizUser> impl
         //} else {
         //    throw new CommonException("您没有权限在该机构下增加人员,机构id:{}", bizUserAddParam.getOrgId());
         //}
+        if(ObjectUtil.isNotEmpty(bizUserAddParam.getAccount())){
+            if(!PhoneUtil.isMobile(bizUserAddParam.getAccount())) {
+                throw new CommonException("请使用手机号码注册账号!");
+            }
+        }
         if (this.count(new LambdaQueryWrapper<BizUser>()
                 .eq(BizUser::getAccount, bizUserAddParam.getAccount())) > 0) {
             throw new CommonException("存在重复的账号,账号为:{}", bizUserAddParam.getAccount());