1
This commit is contained in:
parent
20b6bbe763
commit
d0c0d02f97
@ -1,9 +1,12 @@
|
||||
package cn.iocoder.yudao.module.staff.controller.app;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.module.staff.service.ApiAppLoginService;
|
||||
import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@ -19,6 +22,8 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
public class ApiAppLoginController {
|
||||
@Autowired
|
||||
private ApiAppLoginService apiAppLoginService;
|
||||
@Autowired
|
||||
private CompanyStaffService companyStaffService;
|
||||
|
||||
/**
|
||||
* 登录获取验证码
|
||||
@ -33,5 +38,16 @@ public class ApiAppLoginController {
|
||||
return apiAppLoginService.loginSmsCode(phone,sysCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 客户查我的邀请人
|
||||
* @author vinjor-M
|
||||
* @date 10:40 2024/11/6
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
|
||||
**/
|
||||
@GetMapping("/getMyAdviser")
|
||||
@TenantIgnore
|
||||
public CommonResult<?> getMyAdviser(Long tenantId,String sysCode) {
|
||||
return CommonResult.success(companyStaffService.getMyAdviser(tenantId,sysCode));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.staff.mapper;
|
||||
|
||||
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
|
||||
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
|
||||
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -17,4 +18,13 @@ import org.apache.ibatis.annotations.Param;
|
||||
public interface CompanyStaffMapper extends BaseMapper<CompanyStaff> {
|
||||
|
||||
IPage<CompanyStaff> selectListPage(@Param("map") CompanyStaffReqVO companyStaffReqVO, Page<CompanyStaff> page);
|
||||
/**
|
||||
* 客户查我的邀请人
|
||||
* @author vinjor-M
|
||||
* @date 11:05 2024/11/6
|
||||
* @param tenantId 租户ID
|
||||
* @param userId userId
|
||||
* @return cn.iocoder.yudao.module.staff.entity.CompanyStaff
|
||||
**/
|
||||
CompanyStaffRespVO selectMyAdviser(@Param("tenantId") Long tenantId, @Param("userId") Long userId);
|
||||
}
|
||||
|
@ -131,4 +131,12 @@ public interface CompanyStaffService extends IService<CompanyStaff> {
|
||||
* @date 17:23 2024/10/15
|
||||
**/
|
||||
void setStaffUnicode();
|
||||
|
||||
/**
|
||||
* 客户查我的邀请人
|
||||
* @author vinjor-M
|
||||
* @date 10:49 2024/11/6
|
||||
* @return cn.iocoder.yudao.module.staff.entity.CompanyStaff
|
||||
**/
|
||||
CompanyStaffRespVO getMyAdviser(Long tenantId,String sysCode);
|
||||
}
|
||||
|
@ -3,9 +3,7 @@ package cn.iocoder.yudao.module.staff.service.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.common.BaseConstants;
|
||||
import cn.iocoder.yudao.common.CommonErrorCodeConstants;
|
||||
import cn.iocoder.yudao.common.InviterTypeEnum;
|
||||
import cn.iocoder.yudao.common.*;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
|
||||
@ -40,6 +38,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -610,4 +609,80 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
|
||||
this.updateBatchById(list);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 客户查我的邀请人
|
||||
*
|
||||
* @return cn.iocoder.yudao.module.staff.entity.CompanyStaff
|
||||
* @author vinjor-M
|
||||
* @date 10:49 2024/11/6
|
||||
**/
|
||||
@Override
|
||||
public CompanyStaffRespVO getMyAdviser(Long tenantId,String sysCode) {
|
||||
if(null==tenantId){
|
||||
tenantId = 180L;
|
||||
}
|
||||
if(StringUtils.isEmpty(sysCode)){
|
||||
//默认维修业务系统标识
|
||||
sysCode= SystemEnum.REPAIR.getCode();
|
||||
}
|
||||
Long userId = SecurityFrameworkUtils.getLoginUserId();
|
||||
//员工信息
|
||||
CompanyStaffRespVO staffRespVO = staffMapper.selectMyAdviser(tenantId,userId);
|
||||
if(null!=staffRespVO){
|
||||
//查员工的角色
|
||||
if(sysCode.equals(SystemEnum.REPAIR.getCode())){
|
||||
//维修系统
|
||||
staffRespVO.setRoleName(getUserRoleRepair(staffRespVO.getUserId()));
|
||||
}else if(sysCode.equals(SystemEnum.RESCUE.getCode())){
|
||||
//救援 TODO
|
||||
}else if(sysCode.equals(SystemEnum.INSPECTION.getCode())){
|
||||
//检测 TODO
|
||||
}
|
||||
}
|
||||
return staffRespVO;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @author vinjor-M
|
||||
* @date 11:16 2024/11/6
|
||||
* @param userId 用户ID
|
||||
* @return java.lang.String
|
||||
**/
|
||||
private String getUserRoleRepair(Long userId) {
|
||||
// 当前用户的角色信息
|
||||
List<Long> byUserId = permissionApi.getRoleIdsByUserId(userId);
|
||||
// 所有的角色信息
|
||||
List<RoleReqDTO> roleList = roleApi.getRoleList();
|
||||
// 过滤出登录用户有的角色信息
|
||||
List<RoleReqDTO> collect = roleList.stream().filter(item -> byUserId.contains(item.getId())).collect(Collectors.toList());
|
||||
// 取出角色名称
|
||||
List<String> codes = collect.stream().map(RoleReqDTO::getCode).collect(Collectors.toList());
|
||||
// 维修业务管理员--可以看所有数据,但不能做操作
|
||||
if (codes.contains(RepairRoleEnum.ADMIN.getCode())) {
|
||||
return RepairRoleEnum.ADMIN.getName();
|
||||
}
|
||||
// 总检
|
||||
if (codes.contains(RepairRoleEnum.INSPECTION.getCode())) {
|
||||
return RepairRoleEnum.INSPECTION.getName();
|
||||
}
|
||||
// 服务顾问
|
||||
if (codes.contains(RepairRoleEnum.ADVISOR.getCode())) {
|
||||
return RepairRoleEnum.ADVISOR.getName();
|
||||
}
|
||||
// 维修工(或班组长)
|
||||
if (codes.contains(RepairRoleEnum.REPAIR_STAFF.getCode())) {
|
||||
return RepairRoleEnum.REPAIR_STAFF.getName();
|
||||
}
|
||||
// 维修仓库管理员
|
||||
if (codes.contains(RepairRoleEnum.WAREHOUSE.getCode())) {
|
||||
return RepairRoleEnum.WAREHOUSE.getName();
|
||||
}
|
||||
// 维修财务
|
||||
if (codes.contains(RepairRoleEnum.WXCW.getCode())) {
|
||||
return RepairRoleEnum.WXCW.getName();
|
||||
}
|
||||
// 啥也不是
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
@ -27,4 +27,8 @@ public class CompanyStaffRespVO extends CompanyStaff {
|
||||
* 员工标签
|
||||
**/
|
||||
List<String> labelsArray;
|
||||
/**
|
||||
* 角色名称
|
||||
**/
|
||||
private String roleName;
|
||||
}
|
||||
|
@ -104,4 +104,15 @@
|
||||
</if>
|
||||
order by cs.create_time desc
|
||||
</select>
|
||||
<select id="selectMyAdviser" resultType="cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO">
|
||||
SELECT
|
||||
cs.*
|
||||
FROM
|
||||
base_customer_main bcm
|
||||
LEFT JOIN company_staff cs ON bcm.inviter = cs.user_id AND cs.tenant_id = #{tenantId}
|
||||
WHERE
|
||||
bcm.user_id = #{userId}
|
||||
AND bcm.tenant_id = #{tenantId}
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user