瀏覽代碼

增加excel中的角色属性解析

jzp 2 月之前
父節點
當前提交
7a7854922c

+ 43 - 7
fs-company/src/main/java/com/fs/company/controller/company/CompanyUserController.java

@@ -9,6 +9,7 @@ import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.StringUtils;
+import com.fs.common.utils.bean.BeanUtils;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyPost;
@@ -20,6 +21,7 @@ import com.fs.company.service.ICompanyPostService;
 import com.fs.company.service.ICompanyRoleService;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserService;
+import com.fs.company.vo.CompanyUserImportVO;
 import com.fs.company.vo.CompanyUserQwListVO;
 import com.fs.company.vo.CompanyUserVO;
 import com.fs.framework.security.LoginUser;
@@ -27,15 +29,14 @@ import com.fs.framework.security.SecurityUtils;
 import com.fs.framework.service.TokenService;
 import com.fs.qw.vo.CompanyUserQwVO;
 import com.fs.qw.vo.QwUserVO;
+import org.apache.commons.lang.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -70,7 +71,7 @@ public class CompanyUserController extends BaseController
     @GetMapping("/importTemplate")
     public AjaxResult importVisitTemplate()
     {
-        ExcelUtil<CompanyUser> util = new ExcelUtil<CompanyUser>(CompanyUser.class);
+        ExcelUtil<CompanyUserImportVO> util = new ExcelUtil<CompanyUserImportVO>(CompanyUserImportVO.class);
         return util.importTemplateExcel("用户数据");
     }
 
@@ -78,17 +79,52 @@ public class CompanyUserController extends BaseController
     @PostMapping("/importData")
     public AjaxResult importUserData(MultipartFile file,String deptId) throws Exception
     {
-        ExcelUtil<CompanyUser> util = new ExcelUtil<>(CompanyUser.class);
-        List<CompanyUser> list = util.importExcel(file.getInputStream());
+        ExcelUtil<CompanyUserImportVO> oldUtil = new ExcelUtil<>(CompanyUserImportVO.class);
+        List<CompanyUserImportVO> oldList = oldUtil.importExcel(file.getInputStream());
+
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         Long companyId = loginUser.getCompany().getCompanyId();
+        List<CompanyRole> companyRoles = companyService.selectCompanyRoleList(companyId);
+        Map<String, Long> hashMap = new HashMap<>();
+        if(companyRoles != null && !companyRoles.isEmpty()){
+            companyRoles.forEach(m -> hashMap.put(m.getRoleName(),m.getRoleId()));
+        }
+
+        for (CompanyUserImportVO companyUserImportVO : oldList) {
+            String roleString = companyUserImportVO.getRoleString();
+            if(roleString!=null && !"".equals(roleString)){
+                roleString = roleString.replace(",",",");
+                String[] split = roleString.split(",");
+                List<Long> roleIdList = new ArrayList<>();
+
+                for (String roleName : split) {
+                    if(hashMap.get(roleName) != null){
+                        Long roleId = hashMap.get(roleName);
+                        roleIdList.add(roleId);
+                    }
+                }
+
+                Long[] newArray = roleIdList.toArray(new Long[0]);
+                companyUserImportVO.setRoleIds(newArray);
+            }
+        }
+
+        List<CompanyUser> newList = oldList.stream()
+                .map(obj1 -> {
+                    CompanyUser obj2 = new CompanyUser();
+                    BeanUtils.copyProperties(obj1, obj2);
+                    return obj2;
+                })
+                .collect(Collectors.toList());
+
         Long newDeptId = 0L;
         if(deptId == null ||"null".equals(deptId) || "".equals(deptId)){
             newDeptId = loginUser.getUser().getDeptId();
         }else{
             newDeptId = Long.parseLong(deptId);
         }
-        String message = companyUserService.importUserInfoService(list,newDeptId,companyId);
+
+        String message = companyUserService.importUserInfoService(newList,newDeptId,companyId);
         return AjaxResult.success(message);
     }
 

+ 3 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyMapper.java

@@ -3,6 +3,7 @@ package com.fs.company.mapper;
 import java.math.BigDecimal;
 import java.util.List;
 import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyRole;
 import com.fs.company.param.CompanyParam;
 import com.fs.company.vo.CompanyCrmVO;
 import com.fs.company.vo.CompanyNameVO;
@@ -169,4 +170,6 @@ public interface CompanyMapper
 
     @Select("select company_id from company")
     List<Long> selectCompanyIds();
+
+    List<CompanyRole> selectCompanyRoleList(Long companyId);
 }

+ 3 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyService.java

@@ -5,6 +5,7 @@ import java.util.List;
 
 import com.fs.common.core.domain.R;
 import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyRole;
 import com.fs.company.param.CompanyParam;
 import com.fs.company.vo.CompanyCrmVO;
 import com.fs.company.vo.CompanyNameVO;
@@ -114,4 +115,6 @@ public interface ICompanyService
     public void subtractCompanyMoney(BigDecimal money, Long companyId);
 
     List<Long> selectCompanyIds();
+
+    List<CompanyRole> selectCompanyRoleList(Long companyId);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -527,6 +527,11 @@ public class CompanyServiceImpl implements ICompanyService
         return companyMapper.selectCompanyIds() ;
     }
 
+    @Override
+    public List<CompanyRole> selectCompanyRoleList(Long companyId) {
+        return companyMapper.selectCompanyRoleList(companyId);
+    }
+
     @Override
     @Transactional
     public void refundCompanyMoney(FsStoreOrder order) {

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java

@@ -444,6 +444,7 @@ public class CompanyUserServiceImpl implements ICompanyUserService
 
         for (CompanyUser user : userList)
         {
+
             try
             {
                 user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -452,6 +453,7 @@ public class CompanyUserServiceImpl implements ICompanyUserService
                 user.setCompanyId(companyId);
                 user.setDeptId(deptId);
                 user.setStatus("0");
+                user.setUserType("01");
                 user.setCreateTime(new Date());
                 this.insertUser(user);
                 successNum++;

+ 458 - 0
fs-service/src/main/java/com/fs/company/vo/CompanyUserImportVO.java

@@ -0,0 +1,458 @@
+package com.fs.company.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import com.fs.company.domain.CompanyDept;
+import com.fs.company.domain.CompanyRole;
+
+import java.util.Date;
+import java.util.List;
+
+public class CompanyUserImportVO extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /** 用户ID */
+    private Long userId;
+
+    /** 公司ID */
+    @Excel(name = "公司ID")
+    private Long companyId;
+
+    public String getCorpId() {
+        return corpId;
+    }
+
+    public void setCorpId(String corpId) {
+        this.corpId = corpId;
+    }
+
+    private String corpId;
+
+    /** 部门ID */
+    @Excel(name = "部门ID")
+    private Long deptId;
+
+    /** 用户账号 */
+    @Excel(name = "用户账号")
+    private String userName;
+
+    /** 用户昵称 */
+    @Excel(name = "用户昵称")
+    private String nickName;
+
+    /** 用户类型(00系统用户) */
+    @Excel(name = "用户类型", readConverterExp = "0=0系统用户")
+    private String userType;
+
+    /** 用户邮箱 */
+    @Excel(name = "用户邮箱")
+    private String email;
+
+    /** 手机号码 */
+    @Excel(name = "手机号码")
+    private String phonenumber;
+
+    /** 用户性别(0男 1女 2未知) */
+    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
+    private String sex;
+
+    /** 头像地址 */
+    @Excel(name = "头像地址")
+    private String avatar;
+
+    /** 身份证号 */
+    @Excel(name = "身份证号")
+    private String idCard;
+
+    /** 密码 */
+    @Excel(name = "密码")
+    private String password;
+
+    /** 帐号状态(0正常 1停用) */
+    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
+    private String status;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    private String qwUserId;
+    private Integer qwStatus;
+
+    public String getIdCard() {
+        return idCard;
+    }
+
+    public void setIdCard(String idCard) {
+        this.idCard = idCard;
+    }
+
+    /** 最后登录IP */
+    private String loginIp;
+
+    /** 最后登录时间 */
+    private Date loginDate;
+
+
+    /** 移动端登陆token */
+    private String token;
+
+    /** 是否删除 */
+    private Integer isDel;
+
+    private String openId;
+
+
+    private CompanyDept dept;
+
+    /** 角色对象 */
+    private List<CompanyRole> roles;
+
+    /** 角色组 */
+    private Long[] roleIds;
+
+    /** 角色字符串 */
+    @Excel(name = "角色(多角色用逗号分割)")
+    private String roleString;
+
+    /** 岗位组 */
+    private Long[] postIds;
+
+    private String firstchar;
+    private String postName;
+    private String deptName;
+
+    private String qrCodeWeixin;
+
+    private String qrCodeWecom;
+
+    private String jpushId;
+
+    private String callerNo;
+
+    private String voicePrintUrl;
+
+    private String addressId;
+
+    /** 看课域名 */
+    private String domain;
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    public String getAddressId() {
+        return addressId;
+    }
+
+    public void setAddressId(String addressId) {
+        this.addressId = addressId;
+    }
+
+    public String getVoicePrintUrl() {
+        return voicePrintUrl;
+    }
+
+    public void setVoicePrintUrl(String voicePrintUrl) {
+        this.voicePrintUrl = voicePrintUrl;
+    }
+
+    public String getCallerNo() {
+        return callerNo;
+    }
+
+    public void setCallerNo(String callerNo) {
+        this.callerNo = callerNo;
+    }
+
+    public String getJpushId() {
+        return jpushId;
+    }
+
+    public String getQwUserId() {
+        return qwUserId;
+    }
+
+    public void setQwUserId(String qwUserId) {
+        this.qwUserId = qwUserId;
+    }
+
+    public Integer getQwStatus() {
+        return qwStatus;
+    }
+
+    public void setQwStatus(Integer qwStatus) {
+        this.qwStatus = qwStatus;
+    }
+
+    public void setJpushId(String jpushId) {
+        this.jpushId = jpushId;
+    }
+
+    public String getQrCodeWeixin() {
+        return qrCodeWeixin;
+    }
+
+    public void setQrCodeWeixin(String qrCodeWeixin) {
+        this.qrCodeWeixin = qrCodeWeixin;
+    }
+
+    public String getQrCodeWecom() {
+        return qrCodeWecom;
+    }
+
+    public void setQrCodeWecom(String qrCodeWecom) {
+        this.qrCodeWecom = qrCodeWecom;
+    }
+
+    public String getOpenId() {
+        return openId;
+    }
+
+    public void setOpenId(String openId) {
+        this.openId = openId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getNickName() {
+        return nickName;
+    }
+
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
+
+    public String getFirstchar() {
+        return firstchar;
+    }
+
+    public void setFirstchar(String firstchar) {
+        this.firstchar = firstchar;
+    }
+
+    public String getPostName() {
+        return postName;
+    }
+
+    public void setPostName(String postName) {
+        this.postName = postName;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public CompanyDept getDept() {
+        return dept;
+    }
+
+    public void setDept(CompanyDept dept) {
+        this.dept = dept;
+    }
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public boolean isAdmin()
+    {
+        return isAdmin(this.userType);
+    }
+
+    public static boolean isAdmin(String userType)
+    {
+        if(userType!=null&&(userType.equals("00") || userType.equals("02"))){
+            return true;
+        }
+        else return false;
+    }
+
+    public List<CompanyRole> getRoles() {
+        return roles;
+    }
+
+    public void setRoles(List<CompanyRole> roles) {
+        this.roles = roles;
+    }
+
+    public String getRoleString() {
+        return roleString;
+    }
+
+    public void setRoleString(String roleString) {
+        this.roleString = roleString;
+    }
+
+    public Long[] getRoleIds() {
+        return roleIds;
+    }
+
+    public void setRoleIds(Long[] roleIds) {
+        this.roleIds = roleIds;
+    }
+
+    public Long[] getPostIds() {
+        return postIds;
+    }
+
+    public void setPostIds(Long[] postIds) {
+        this.postIds = postIds;
+    }
+
+
+    public void setUserId(Long userId)
+    {
+        this.userId = userId;
+    }
+
+    public Long getUserId()
+    {
+        return userId;
+    }
+    public void setCompanyId(Long companyId)
+    {
+        this.companyId = companyId;
+    }
+
+    public Long getCompanyId()
+    {
+        return companyId;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+
+    public void setUserType(String userType)
+    {
+        this.userType = userType;
+    }
+
+    public String getUserType()
+    {
+        return userType;
+    }
+    public void setEmail(String email)
+    {
+        this.email = email;
+    }
+
+    public String getEmail()
+    {
+        return email;
+    }
+    public void setPhonenumber(String phonenumber)
+    {
+        this.phonenumber = phonenumber;
+    }
+
+    public String getPhonenumber()
+    {
+        return phonenumber;
+    }
+    public void setSex(String sex)
+    {
+        this.sex = sex;
+    }
+
+    public String getSex()
+    {
+        return sex;
+    }
+    public void setAvatar(String avatar)
+    {
+        this.avatar = avatar;
+    }
+
+    public String getAvatar()
+    {
+        return avatar;
+    }
+
+    public void setPassword(String password)
+    {
+        this.password = password;
+    }
+
+    public String getPassword()
+    {
+        return password;
+    }
+    public void setStatus(String status)
+    {
+        this.status = status;
+    }
+
+    public String getStatus()
+    {
+        return status;
+    }
+    public void setDelFlag(String delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setLoginIp(String loginIp)
+    {
+        this.loginIp = loginIp;
+    }
+
+    public String getLoginIp()
+    {
+        return loginIp;
+    }
+    public void setLoginDate(Date loginDate)
+    {
+        this.loginDate = loginDate;
+    }
+
+    public Date getLoginDate()
+    {
+        return loginDate;
+    }
+
+
+    public void setToken(String token)
+    {
+        this.token = token;
+    }
+
+    public String getToken()
+    {
+        return token;
+    }
+    public void setIsDel(Integer isDel)
+    {
+        this.isDel = isDel;
+    }
+
+    public Integer getIsDel()
+    {
+        return isDel;
+    }
+}

+ 3 - 0
fs-service/src/main/resources/mapper/company/CompanyMapper.xml

@@ -56,6 +56,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectCompanyVo"/>
         where company_id = #{companyId}
     </select>
+    <select id="selectCompanyRoleList" resultType="com.fs.company.domain.CompanyRole">
+        select role_id roleId,role_name roleName from company_role where company_id = #{companyId}
+    </select>
 
     <insert id="insertCompany" parameterType="Company" useGeneratedKeys="true" keyProperty="companyId">
         insert into company