forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-20 0638eafaa8eaaad126d39becae52f48813c24844
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
@@ -9,16 +9,19 @@
import cn.huge.module.ctrole.domain.po.CtRole;
import cn.huge.module.ctrole.service.CtRoleService;
import cn.huge.module.ctuser.domain.po.*;
import cn.huge.module.ctuser.dto.CtUserInfoDTO;
import cn.huge.module.ctuser.dto.CtUserSaveDTO;
import cn.huge.module.ctuser.service.*;
import cn.huge.module.cust.constant.RoleBaseEnum;
import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.cust.dto.CtUserDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
@@ -27,6 +30,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -245,7 +249,7 @@
        if (StringUtils.isNotBlank(dispStatus)){
            terms.put("dispStatus", dispStatus);
        }
        // 删除状态,0:已删除(默认),1:未删除
        // 删除状态,0:未删除,1:已删除
        String deleteStatus = request.getParameter("deleteStatus");
        if (StringUtils.isNotBlank(deleteStatus)){
            terms.put("deleteStatus", deleteStatus);
@@ -269,12 +273,23 @@
            terms.put("updateStart", updateStart);
            terms.put("updateEnd", updateEnd);
        }
        // 平台账号
        String acc = request.getParameter("acc");
        if (StringUtils.isNotBlank(acc)){
            terms.put("acc", acc);
        }
        // 角色编码
        String roleCode = request.getParameter("roleCode");
        if (StringUtils.isNotBlank(roleCode)){
            terms.put("roleCode", roleCode);
        }
        return terms;
    }
    /**
     * web端-人员信息管理-新增/新用户信息
     * @url {ctx}/api/v1/ctUser/saveCtUser
     * @url {ctx}/api/web/ctUser/saveCtUser
     * @param userId
     * @return Object
     * @throws Exception
@@ -292,7 +307,7 @@
    /**
     * 获取人员信息列表查询条件
     * @url {ctx}/api/v1/ctUser/listSelectTerm
     * @url {ctx}/api/web/ctUser/listSelectTerm
     * @return userId 登录用户标识称
     * @return Object
     * @throws Exception
@@ -309,7 +324,7 @@
    /**
     * web端-人员信息管理-人员列表
     * @url {ctx}/api/v1/ctUser/pageQuery
     * @url {ctx}/api/web/ctUser/pageQuery
     * @param page 页码
     * @param size 每页数量
     * @return Object
@@ -325,4 +340,110 @@
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 更新人员状态信息
     * @url {ctx}/api/web/ctUser/updateCtUserStatus
     * @param id 编号 status :用户状态,1:在职(默认),2:停用,99:离职
     * @return Object
     * @throws Exception
     */
    @GetMapping("/updateCtUserStatus")
    public Object updateCtUserStatus(@RequestParam(value = "status") String status, @RequestParam(value = "id") String id) {
        try {
            // 修改状态
            UpdateWrapper<CtUser> ctUserUpdateWrapper = new UpdateWrapper();
            ctUserUpdateWrapper.eq("id", id);
            ctUserUpdateWrapper.set("status", status).set("update_time", new Date());
            service.update(ctUserUpdateWrapper);
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 根据主键单个/批量删除
     * @url {ctx}/api/web/ctUser/removeByIds
     * @return Object
     * @throws Exception
     */
    @PostMapping("/removeByIds")
    public Object removeByIds(@RequestBody List<String> data) {
        try {
            service.removeListId(data);
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            log.error("Controller接口[CtUserController.removeByIds]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 选择人员
     * @url {ctx}/api/web/ctUser/userChoose
     * @return Object
     */
    @GetMapping("/userChoose")
    public Object userChoose(@CurrentUser String userId) {
        try {
            String roleCode = request.getParameter("roleCode");
            List<SelectTermDTO> unitSelectTerms = service.userChoose(userId, roleCode);
            return ReturnSucUtils.getRepInfo(unitSelectTerms);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo(e.getMessage());
        }
    }
    /**
     * 共通组件-根据人员编号查询单个人员信息及角色信息
     * @url {ctx}/api/web/ctUser/getByIdRole
     * @param id 主键编号
     * @return Object
     * @throws Exception
     */
    @GetMapping("/getByIdRole")
    public Object getByIdRole(@RequestParam(value = "id") String id) {
        try {
            CtUserInfoDTO ctUserInfoDTO = new CtUserInfoDTO();
            CtUser ctUser = service.getById(id);
            if (ObjectUtils.isNotEmpty(ctUser)) {
                BeanUtils.copyProperties(ctUser, ctUserInfoDTO);
                CtAccount ctAccount = ctAccountService.getByUserIdAndType(id, UserBaseConsts.ACC_TYPE_1);
                ctUserInfoDTO.setLoginTime(ctAccount.getLoginTime());
                ctUserInfoDTO.setAcc(ctAccount.getAcc());
                List<String> roleNameList = ctUseroleService.listRoleName(id);
                if (CollectionUtils.isNotEmpty(roleNameList)) {
                    String userRoles = roleNameList.stream().map(String::valueOf).collect(Collectors.joining("、"));
                    ctUserInfoDTO.setUserRoles(userRoles);
                }
            }
            return ReturnSucUtils.getRepInfo(ctUserInfoDTO);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 人工配置-统一修改单位名称
     * @url {ctx}/api/web/ctUser/updateUnitName
     * @return Object
     * @throws Exception
     */
    @GetMapping("/updateUnitName")
    public Object updateUnitName() {
        try {
            List<CtUser> ctUserList = service.list();
            for (CtUser ctUser: ctUserList){
                CtUnit ctUnit = ctUnitService.getById(ctUser.getUnitId());
                if (ObjectUtils.isNotEmpty(ctUnit)) {
                    ctUser.setUnitName(ctUnit.getUnitName());
                    service.updateCtUser(ctUser);
                }
            }
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
}