From cf9cdbbf7b78b1f56b3bac358245e9cf64806fe0 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期二, 12 九月 2023 14:01:38 +0800
Subject: [PATCH] #主播管理 企业员工管理
---
server/service/src/main/java/com/doumee/service/business/CompanyService.java | 8 +
server/service/src/main/java/com/doumee/service/business/CompanyUserService.java | 41 ++++++++
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 26 +++++
server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserDTO.java | 75 +++++++++++++++
server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserQueryDTO.java | 25 +++++
server/service/src/main/java/com/doumee/service/business/impl/CompanyUserServiceImpl.java | 94 ++++++++++++++++++
server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserImportDTO.java | 2
7 files changed, 269 insertions(+), 2 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserDTO.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserDTO.java
new file mode 100644
index 0000000..f2aade2
--- /dev/null
+++ b/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;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/CompanyUserQueryDTO.java
new file mode 100644
index 0000000..85b25af
--- /dev/null
+++ b/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;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserImportDTO.java
similarity index 97%
rename from server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserImportDTO.java
index 9046a72..b76cce5 100644
--- a/server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserImportDTO.java
@@ -12,7 +12,7 @@
@Data
@ApiModel("浼佷笟鐢ㄦ埛鎵归噺瀵煎叆")
-public class CompanyUserDTO {
+public class CompanyUserImportDTO {
@ExcelColumn(name="浼佷笟鍚嶇О")
@ApiModelProperty(value = "鍏徃鍚嶇О")
diff --git a/server/service/src/main/java/com/doumee/service/business/CompanyService.java b/server/service/src/main/java/com/doumee/service/business/CompanyService.java
index 6fd458a..fa602ba 100644
--- a/server/service/src/main/java/com/doumee/service/business/CompanyService.java
+++ b/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 瀹炰綋瀵硅薄
diff --git a/server/service/src/main/java/com/doumee/service/business/CompanyUserService.java b/server/service/src/main/java/com/doumee/service/business/CompanyUserService.java
new file mode 100644
index 0000000..8715fa4
--- /dev/null
+++ b/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);
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 1f1a2df..9d9bad5 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/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
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyUserServiceImpl.java
new file mode 100644
index 0000000..fb23b03
--- /dev/null
+++ b/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;
+ }
+}
--
Gitblit v1.9.3