shinnosuke
2026-06-23 b70eec17ac045cdc2de640092c96037f1e7b0d2e
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java
@@ -35,11 +35,6 @@
@Service
public class PartnerServiceImpl extends ServiceImpl<PartnerMapper, Partner> implements IPartnerService {
   /**
    * TODO 确认合作商默认角色ID,当前先使用通用角色占位。
    */
   private static final Long PARTNER_DEFAULT_ROLE_ID = 2L;
   @Resource
   private SysUserClient sysUserClient;
   
@@ -92,7 +87,7 @@
      if(ajaxResult.isError()){
         return ajaxResult;
      }
      partner.setRoleId(PARTNER_DEFAULT_ROLE_ID.intValue());
      assignDefaultRole(partner);
      Partner one = this.getOne(new LambdaQueryWrapper<Partner>()
            .eq(Partner::getCode, partner.getCode())
            .eq(Partner::getDelFlag, 0)
@@ -116,7 +111,7 @@
      user.setPassword(partner.getPassword());
      user.setStatus("0");
      user.setDelFlag("0");
      user.setRoleId(PARTNER_DEFAULT_ROLE_ID);
      user.setRoleId(partner.getRoleId().longValue());
      user.setRoleType(2);
      user.setPassWordUpdate(new Date());
      R<Long> r = sysUserClient.addSysUser(user);
@@ -143,6 +138,9 @@
      }
      if(StringUtils.isEmpty(partner.getName())){
         return AjaxResult.error("合作商名称不能为空");
      }
      if(null == partner.getPartnerType()){
         return AjaxResult.error("合作商类型不能为空");
      }
      if(StringUtils.isEmpty(partner.getPhoneOne())){
         return AjaxResult.error("合作商电话1不能为空");
@@ -180,7 +178,7 @@
      if(ajaxResult.isError()){
         return ajaxResult;
      }
      partner.setRoleId(PARTNER_DEFAULT_ROLE_ID.intValue());
      assignDefaultRole(partner);
      Partner one = this.getOne(new LambdaQueryWrapper<Partner>()
            .eq(Partner::getCode, partner.getCode())
            .eq(Partner::getDelFlag, 0)
@@ -210,7 +208,7 @@
         user.setNickName(partner.getName());
         user.setAvatar(partner.getLogoUrl());
         user.setPassword(partner.getPassword());
         user.setRoleId(PARTNER_DEFAULT_ROLE_ID);
         user.setRoleId(partner.getRoleId().longValue());
         user.setRoleType(2);
         user.setObjectId(partner.getId());
         user.setPassWordUpdate(new Date());
@@ -227,7 +225,7 @@
            user.setPassword(partner.getPassword());
            user.setPassWordUpdate(new Date());
         }
         user.setRoleId(PARTNER_DEFAULT_ROLE_ID);
         user.setRoleId(partner.getRoleId().longValue());
         R r = sysUserClient.updateSysUser(user);
         if(200 != r.getCode()){
            throw new RuntimeException(r.getMsg());
@@ -240,6 +238,24 @@
   }
   
   
   private void assignDefaultRole(Partner partner) {
      String roleName = partnerTypeRoleName(partner.getPartnerType());
      Integer roleId = this.baseMapper.getDefaultPartnerRoleId(roleName);
      if (roleId == null) {
         throw new RuntimeException("系统内置角色【" + roleName + "】不存在,请先配置角色");
      }
      partner.setRoleId(roleId);
   }
   private String partnerTypeRoleName(Integer partnerType) {
      if (Integer.valueOf(2).equals(partnerType)) {
         return "场地方";
      }
      if (Integer.valueOf(3).equals(partnerType)) {
         return "服务商";
      }
      return "合作商";
   }
   /**
    * 删除合作商
    * @param ids 合作商id