组织排队开关,新增用户司机同步yms,oms预约单修改

This commit is contained in:
赵辉
2026-05-21 15:15:49 +08:00
parent a29ac3050e
commit 4f03f56126
26 changed files with 465 additions and 7 deletions
@@ -1,6 +1,7 @@
package com.mhd.user.domain.userAggregate.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.common.core.domain.dto.YmsSysUserDTO;
import com.mhd.user.domain.userAggregate.entity.UserEntity;
import com.mhd.user.domain.userAggregate.repository.po.UserDocumentWarningQueryPo;
import com.mhd.user.domain.userAggregate.repository.po.UserDriverCaptainAuthPo;
@@ -74,4 +75,8 @@ public interface UserMapper extends BaseMapper<UserEntity> {
String finShipperEnterpriseNamedByUserId(@Param("userId") Long userId);
YmsSysUserDTO selectYmsByUserId(Long userId);
Integer getOrdIsQueue(Long organizationId);
}
@@ -281,4 +281,10 @@ public class UserDO extends BaseVOEntity {
@ApiModelProperty("税号")
private String taxNumber;
@ApiModelProperty("yms密码")
private String plainPassword;
@ApiModelProperty("当前用户的组织是否开启排队")
private Integer isQueue;
}
@@ -289,4 +289,7 @@ public class UserDriverDO extends UserDO {
@ApiModelProperty(name = "车辆主体")
private String vehicleBody;
@ApiModelProperty("当前用户的组织是否开启排队")
private Integer isQueue;
}
@@ -0,0 +1,117 @@
package com.mhd.user.domain.userAggregate.service;
import com.mhd.common.core.domain.dto.YmsSysUserDTO;
import com.mhd.common.core.domain.entity.R;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.system.api.YmsServiceFeign;
import com.mhd.user.domain.userAggregate.entity.UserEntity;
import com.mhd.user.domain.userAggregate.repository.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
/**
* YMS平台用户同步领域服务
* @author AI
* @date 2026/05/12
*/
@Service
@Slf4j
public class UserYmsDomainService {
@Resource
private YmsServiceFeign ymsServiceFeign;
@Autowired
private UserMapper userMapper;
/**
* 同步YMS平台员工信息(新增或修改)
* @param userEntity 用户实体
* @return boolean
*/
public boolean addOrEditYmsUser(UserEntity userEntity){
if(userEntity == null){
log.warn("同步YMS平台员工信息失败:用户实体为空");
return false;
}
// R<Long> isAddOrEdit = ymsServiceFeign.innerGetInfo(userEntity.getUserId());
YmsSysUserDTO userEntityByYms = userMapper.selectYmsByUserId(userEntity.getUserId());
// if (R.FAIL == isAddOrEdit.getCode()) {
// throw new ServiceException(isAddOrEdit.getMsg());
// }
if (userEntityByYms == null) {
//新增
return addYmsUser(userEntity);
}else {
//修改
return editYmsUser(userEntity);
}
}
/**
* 新增YMS平台员工基本信息
* @param userEntity 用户实体
* @return boolean
*/
public boolean addYmsUser(UserEntity userEntity){
YmsSysUserDTO ymsSysUserDTO = new YmsSysUserDTO();
ymsSysUserDTO.setUserName(userEntity.getUserAccount());
ymsSysUserDTO.setOrganizationId(userEntity.getOrganizationId());
ymsSysUserDTO.setTopOrganizationId(userEntity.getTopOrganizationId());
ymsSysUserDTO.setSzwlUserId(userEntity.getUserId());
ymsSysUserDTO.setNickName(userEntity.getUserName());
ymsSysUserDTO.setPhonenumber(userEntity.getUserPhone());
ymsSysUserDTO.setAvatar(userEntity.getAvatar());
ymsSysUserDTO.setPromoCode(userEntity.getPromoCode());
ymsSysUserDTO.setUserAccountType(userEntity.getUserAccountType());
ymsSysUserDTO.setPassword(userEntity.getUserPassword());
ymsSysUserDTO.setDeptId(103L);
if (StringUtils.isNotBlank(userEntity.getRoleCode())){
ymsSysUserDTO.setRoleCodes(Arrays.asList(userEntity.getRoleCode().split(",")));
}
if (StringUtils.isNotBlank(userEntity.getRoleName())){
ymsSysUserDTO.setRoleNames(Arrays.asList(userEntity.getRoleName().split(",")));
}
R<Object> result = ymsServiceFeign.innerAdd(ymsSysUserDTO);
if (R.FAIL == result.getCode()) {
throw new ServiceException(result.getMsg());
}
return true;
}
/**
* 修改YMS平台员工基本信息
* @param userEntity 用户实体
* @return boolean
*/
public boolean editYmsUser(UserEntity userEntity){
YmsSysUserDTO ymsSysUserDTO = new YmsSysUserDTO();
ymsSysUserDTO.setUserName(userEntity.getUserAccount());
ymsSysUserDTO.setSzwlUserId(userEntity.getUserId());
ymsSysUserDTO.setNickName(userEntity.getUserName());
ymsSysUserDTO.setPhonenumber(userEntity.getUserPhone());
ymsSysUserDTO.setAvatar(userEntity.getAvatar());
ymsSysUserDTO.setUserAccountType(userEntity.getUserAccountType());
if (StringUtils.isNotBlank(userEntity.getRoleCode())){
ymsSysUserDTO.setRoleCodes(Arrays.asList(userEntity.getRoleCode().split(",")));
}
if (StringUtils.isNotBlank(userEntity.getRoleName())){
ymsSysUserDTO.setRoleNames(Arrays.asList(userEntity.getRoleName().split(",")));
}
R<Object> result = ymsServiceFeign.innerEdit(ymsSysUserDTO);
if (R.FAIL == result.getCode()) {
throw new ServiceException(result.getMsg());
}
return true;
}
}