jiaosong
2023-09-12 cf9cdbbf7b78b1f56b3bac358245e9cf64806fe0
#主播管理 企业员工管理
已添加4个文件
已修改2个文件
已重命名1个文件
271 ■■■■■ 文件已修改
server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserDTO.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserQueryDTO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserImportDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/CompanyService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/CompanyUserService.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CompanyUserServiceImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
package com.doumee.dao.business.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author T14
 */
@Data
@ApiModel("公司员工")
public class CompanyUserDTO {
    @ApiModelProperty(value = "主键", example = "1")
    private Integer id;
    @ApiModelProperty(value = "用户名")
    private String username;
    @ApiModelProperty(value = "员工名称")
    private String realname;
    @ApiModelProperty(value = "工号")
    private String empNo;
    @ApiModelProperty(value = "生日")
    private Date birthday;
    @ApiModelProperty(value = "性别")
    private String sex;
    @ApiModelProperty(value = "邮箱")
    private String email;
    @ApiModelProperty(value = "手机号码")
    private String mobile;
    @ApiModelProperty(value = "头像")
    private String avatar;
    @ApiModelProperty(value = "企业编码")
    private Integer companyId;
    @ApiModelProperty(value = "企业编码")
    private Integer companyName;
    @ApiModelProperty(value = "类型 0平台用户 1企业用户")
    private Integer type;
    @ApiModelProperty(value = "是否为固定用户")
    private Boolean fixed;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "0 å¯ç”¨ 1 ç¦ç”¨")
    private Integer status;
    @ApiModelProperty(value = "角色ID")
    private Integer roleId;
    @ApiModelProperty(value = "角色编码")
    private String roleCode;
    @ApiModelProperty(value = "角色名称")
    private String roleName;
    @ApiModelProperty(value = "类型 0平台用户 1企业用户")
    private Integer roleType;
}
server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserQueryDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.doumee.dao.business.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author T14
 */
@Data
@ApiModel("公司员工查询")
public class CompanyUserQueryDTO {
    @ApiModelProperty(value = "企业编码")
    private String companyName;
    @ApiModelProperty(value = "输入登录账号用户名称")
    private String keyWords;
    @ApiModelProperty(value = "0 å¯ç”¨ 1 ç¦ç”¨")
    private Integer status;
}
server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserImportDTO.java
ÎļþÃû´Ó server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java ÐÞ¸Ä
@@ -12,7 +12,7 @@
@Data
@ApiModel("企业用户批量导入")
public class CompanyUserDTO {
public class CompanyUserImportDTO {
    @ExcelColumn(name="企业名称")
    @ApiModelProperty(value = "公司名称")
server/service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -76,6 +76,14 @@
    Company findById(Integer id);
    /**
     * ä¸»é”®æŸ¥è¯¢
     *
     * @param id ä¸»é”®
     * @return Company
     */
    Company findPlatformById(Integer id);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param company å®žä½“对象
server/service/src/main/java/com/doumee/service/business/CompanyUserService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.doumee.service.business;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.dto.CompanyUserDTO;
import com.doumee.dao.business.model.dto.CompanyUserQueryDTO;
import java.util.List;
/**
 * @author T14
 */
public interface CompanyUserService {
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<Company>
     */
    PageData<CompanyUserDTO> findPage(PageWrap<CompanyUserQueryDTO> pageWrap);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param company å®žä½“对象
     * @return Company
     */
    CompanyUserDTO findOne(CompanyUserDTO company);
    /**
     * æ¡ä»¶æŸ¥è¯¢
     *
     * @param company å®žä½“对象
     * @return List<Company>
     */
    List<CompanyUserDTO> findListByCompanyID(CompanyUserDTO company);
}
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -16,6 +16,7 @@
import com.doumee.dao.business.join.CompanyJoinMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.dto.CompanyCreatOrUpdateRequest;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.CompanyService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -23,6 +24,7 @@
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Date;
@@ -43,6 +45,10 @@
    @Autowired
    private CompanyJoinMapper companyJoinMapper;
    @Autowired
    private SystemUserMapper systemUserMapper;
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    @Override
    public Integer create(CompanyCreatOrUpdateRequest company) {
        LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -75,6 +81,12 @@
        insert.setOepnType(company.getOepnType());
        insert.setSalesmanId(company.getSalesmanId());
        companyMapper.insert(insert);
        UpdateWrapper<SystemUser> systemUserQuery = new UpdateWrapper<>();
        systemUserQuery.lambda()
                        .eq(SystemUser::getId,company.getManagerId())
                        .set(SystemUser::getCompanyId,insert.getId());
        systemUserMapper.update(null,systemUserQuery);
        return company.getId();
    }
@@ -128,6 +140,18 @@
    @Override
    public Company findById(Integer id) {
        return companyMapper.selectById(id);
    }
    @Override
    public Company findPlatformById(Integer id) {
        QueryWrapper<Company> wrapper = new QueryWrapper<>();
        wrapper.select("company.*," +
                "(select su1.USERNAME from system_user su1 where  su1.id = company.MANAGER_ID) as managerUserName," +
                "(select su2.REALNAME from system_user su2 where  su2.id = company.SALESMAN_ID) as salesmanRealName")
                .lambda().eq(Company::getId,id);
        return companyMapper.selectOne(wrapper);
    }
    @Override
@@ -198,7 +222,7 @@
                    .like(SystemUser::getUsername,pageWrap.getModel().getManagerUserName())
                    .eq(Company::getStatus,pageWrap.getModel().getStatus())
                    .between(Company::getOepnValidDate,pageWrap.getModel().getOepnValidDateStart(),pageWrap.getModel().getOepnValidDateEnd());
        return PageData.from(companyMapper.selectPage(page, queryWrapper));
        return PageData.from(companyJoinMapper.selectJoinPage(page,Company.class,queryWrapper));
    }
    @Override
server/service/src/main/java/com/doumee/service/business/impl/CompanyUserServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.dto.CompanyUserDTO;
import com.doumee.dao.business.model.dto.CompanyUserQueryDTO;
import com.doumee.dao.system.SystemUserJoinMapper;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.model.SystemUserRole;
import com.doumee.service.business.CompanyUserService;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @author T14
 */
@Service
public class CompanyUserServiceImpl implements CompanyUserService {
    @Autowired
    private SystemUserJoinMapper systemUserJoinMapper;
    @Override
    public PageData<CompanyUserDTO> findPage(PageWrap<CompanyUserQueryDTO> pageWrap) {
        IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<SystemUser> mpjJoinMapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        mpjJoinMapper.selectAll(SystemUser.class)
                    .selectAs(SystemRole::getId,CompanyUserDTO::getRoleId)
                    .selectAs(SystemRole::getCode,CompanyUserDTO::getRoleCode)
                    .selectAs(SystemRole::getName,CompanyUserDTO::getRoleName)
                    .selectAs(SystemRole::getType,CompanyUserDTO::getRoleType)
                    .leftJoin(SystemUserRole.class,SystemUserRole::getUserId,SystemUser::getId)
                    .leftJoin(SystemRole.class,SystemRole::getId,SystemUserRole::getRoleId)
                    .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                    .eq(SystemUser::getType, Constants.ONE)
                    .eq(SystemUser::getStatus,pageWrap.getModel().getStatus())
                    .like(Company::getName,pageWrap.getModel().getCompanyName())
                    .like(SystemUser::getUsername,pageWrap.getModel().getKeyWords())
                    .or()
                    .like(SystemUser::getRealname,pageWrap.getModel().getKeyWords());
        IPage<CompanyUserDTO> companyUserDTOIPage = systemUserJoinMapper.selectJoinPage(page, CompanyUserDTO.class, mpjJoinMapper);
        return PageData.from(companyUserDTOIPage);
    }
    @Override
    public CompanyUserDTO findOne(CompanyUserDTO companyUserDTO) {
        MPJLambdaWrapper<SystemUser> mpjJoinMapper = new MPJLambdaWrapper<>();
        mpjJoinMapper.selectAll(SystemUser.class)
                .selectAs(SystemRole::getId,CompanyUserDTO::getRoleId)
                .selectAs(SystemRole::getCode,CompanyUserDTO::getRoleCode)
                .selectAs(SystemRole::getName,CompanyUserDTO::getRoleName)
                .selectAs(SystemRole::getType,CompanyUserDTO::getRoleType)
                .leftJoin(SystemUserRole.class,SystemUserRole::getUserId,SystemUser::getId)
                .leftJoin(SystemRole.class,SystemRole::getId,SystemUserRole::getRoleId)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .eq(SystemUser::getType, Constants.ONE)
                .eq(SystemUser::getId,companyUserDTO.getId());
        CompanyUserDTO companyUserDTOIPage = systemUserJoinMapper.selectJoinOne(CompanyUserDTO.class, mpjJoinMapper);
        return companyUserDTOIPage;
    }
    @Override
    public List<CompanyUserDTO> findListByCompanyID(CompanyUserDTO companyUserDTO) {
        MPJLambdaWrapper<SystemUser> mpjJoinMapper = new MPJLambdaWrapper<>();
        mpjJoinMapper.selectAll(SystemUser.class)
                .selectAs(SystemRole::getId,CompanyUserDTO::getRoleId)
                .selectAs(SystemRole::getCode,CompanyUserDTO::getRoleCode)
                .selectAs(SystemRole::getName,CompanyUserDTO::getRoleName)
                .selectAs(SystemRole::getType,CompanyUserDTO::getRoleType)
                .leftJoin(SystemUserRole.class,SystemUserRole::getUserId,SystemUser::getId)
                .leftJoin(SystemRole.class,SystemRole::getId,SystemUserRole::getRoleId)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .eq(SystemUser::getType, Constants.ONE)
                .eq(SystemUser::getId,companyUserDTO.getCompanyId());
        List<CompanyUserDTO> companyUserDTOS = systemUserJoinMapper.selectJoinList(CompanyUserDTO.class, mpjJoinMapper);
        return companyUserDTOS;
    }
}