소스 검색

Merge remote-tracking branch 'origin/master'

fangpy 1 년 전
부모
커밋
f18300b548

+ 23 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxSubcontractorUserDao.java

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.rwadmincommon.system.domain.SysUserDo;
+import com.rongwei.rwadmincommon.system.domain.SysUserRoleDo;
+import com.rongwei.rwcommon.base.BaseDao;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+
+import java.util.Map;
+
+/**
+ * @author zhuang
+ */
+public interface ZhcxSubcontractorUserDao extends BaseDao<SysUserDo> {
+
+    @Delete("DELETE FROM INCONTROL.SYS_USER_ROLE WHERE USERID = #{userid}")
+    int deleteUserRole(Map<String, Object> params);
+
+    @Insert("insert into INCONTROL.SYS_USER_ROLE " +
+            "(ID,USERID,ROLEID,CREATEDATE,CREATEUSERID,MODIFYDATE,MODIFYUSERID,CREATEUSERNAME,MODIFYUSERNAME) " +
+            "VALUES (#{id},#{userid},#{roleid},#{createdate},#{createuserid},#{modifydate},#{modifyuserid},#{createusername},#{modifyusername})")
+    int insertUserRole(SysUserRoleDo sysUserRoleDo);
+}

+ 20 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxSubcontractorUserService.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.vo.SubContractorBySysUserVo;
+import com.rongwei.bsentity.vo.SubcontractorUserVo;
+import com.rongwei.rwadmincommon.system.domain.SysUserDo;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.List;
+
+/**
+ * @author zhuang
+ */
+public interface ZhcxSubcontractorUserService extends IService<SysUserDo> {
+
+    void batchSaveList(SubcontractorUserVo subcontractorUserVo);
+
+    R saveOrUpdate(SubContractorBySysUserVo sysUser, SysUserVo currUser, String roleid);
+}

+ 123 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxSubcontractorUserServiceImpl.java

@@ -0,0 +1,123 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.rongwei.bscommon.sys.dao.ZhcxSubcontractorUserDao;
+import com.rongwei.bscommon.sys.service.ZhcxSubcontractorUserService;
+import com.rongwei.bsentity.vo.SubcontractorUserVo;
+import com.rongwei.bsentity.vo.SubContractorBySysUserVo;
+import com.rongwei.commonservice.service.RedisService;
+import com.rongwei.rwadmincommon.system.domain.SysUserDo;
+import com.rongwei.rwadmincommon.system.domain.SysUserRoleDo;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.BaseServiceImpl;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zhuang
+ */
+@Slf4j
+@Service("zhcxSubcontractorUserService")
+public class ZhcxSubcontractorUserServiceImpl extends BaseServiceImpl<ZhcxSubcontractorUserDao, SysUserDo> implements ZhcxSubcontractorUserService  {
+
+    @Autowired
+    private RedisService redisService;
+    @Autowired
+    private ZhcxSubcontractorUserDao zhcxSubcontractorUserDao;
+
+    @Override
+    public void batchSaveList(SubcontractorUserVo subcontractorUserVo) {
+        List<SubContractorBySysUserVo> list = subcontractorUserVo.getUserList();
+        String roleid = subcontractorUserVo.getRoleid();
+        for(SubContractorBySysUserVo userVo : list){
+            String opertionType = "insert";
+            if(StringUtils.isBlank(userVo.getPassword())){
+                opertionType = "update";
+            }
+            SysUserVo currUser = null;
+            ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+            HttpServletRequest request = attributes.getRequest();
+            String token = request.getHeader("token");
+            if (StringUtils.isNotEmpty(token)) {
+                currUser = redisService.getLoginUser(token);
+            }
+            if ("insert".equals(opertionType)) {
+                if (StringUtils.isBlank(userVo.getTenantid())){
+                    userVo.setTenantid(currUser.getTenantid());
+                }
+                String secPas = SecurityUtil.getSaltMd5AndSha(userVo.getPassword(), userVo.getId());
+                userVo.setPassword(secPas);
+            }
+            R r = this.saveOrUpdate(userVo,currUser,roleid);
+            SysUserDo user = this.getById(userVo.getId());
+        }
+    }
+
+    @Override
+    public R saveOrUpdate(SubContractorBySysUserVo sysUser, SysUserVo currUser, String roleid) {
+        log.info("sysUser:" + sysUser);
+
+        // 1.保存用户信息
+        String id = sysUser.getId();
+        SysUserDo sysUserDo = this.getById(id);
+        if (sysUserDo == null)
+        {
+            zhcxSubcontractorUserDao.insert(sysUser);
+            log.info("新增用户信息");
+        }
+        else
+        {
+            zhcxSubcontractorUserDao.updateById(sysUser);
+            log.info("更新用户信息");
+        }
+        // 2.保存用户组织结构
+        //this.saveUserOrg(sysUser);
+
+        // 3.保存用户角色
+        this.saveUserRole(sysUser,currUser,roleid);
+
+        return R.ok();
+    }
+
+    /**
+     * 保存用户角色
+     *
+     * @param sysUser
+     * @param roleid
+     */
+    private void saveUserRole(SubContractorBySysUserVo sysUser, SysUserVo currUser, String roleid) {
+        // 先删除用户原有的角色
+        String userId = sysUser.getId();
+        Map<String, Object> params = new HashMap<>(5);
+        params.put("userid", userId);
+        zhcxSubcontractorUserDao.deleteUserRole(params);
+        SysUserRoleDo sysUserRoleDo = new SysUserRoleDo();
+        sysUserRoleDo.setUserid(userId);
+        if (StringUtils.isBlank(sysUser.getRoleid())) {
+            sysUserRoleDo.setRoleid(roleid);
+        }else{
+            sysUserRoleDo.setRoleid(sysUser.getRoleid());
+        }
+        sysUserRoleDo.setId(SecurityUtil.getUUID());
+        if (StringUtils.isBlank(sysUser.getPassword())) {
+            sysUserRoleDo.setCreatedate(new Date());
+            sysUserRoleDo.setCreateuserid(currUser.getId());
+            sysUserRoleDo.setCreateusername(currUser.getName());
+        }
+        sysUserRoleDo.setModifydate(new Date());
+        sysUserRoleDo.setModifyuserid(currUser.getId());
+        sysUserRoleDo.setModifyusername(currUser.getName());
+        zhcxSubcontractorUserDao.insertUserRole(sysUserRoleDo);
+    }
+}

+ 14 - 0
business-entity/src/main/java/com/rongwei/bsentity/vo/SubContractorBySysUserVo.java

@@ -0,0 +1,14 @@
+package com.rongwei.bsentity.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.rongwei.rwadmincommon.system.domain.SysUserDo;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class SubContractorBySysUserVo extends SysUserDo implements Serializable {
+
+    private String roleid;
+}

+ 14 - 0
business-entity/src/main/java/com/rongwei/bsentity/vo/SubcontractorUserVo.java

@@ -0,0 +1,14 @@
+package com.rongwei.bsentity.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SubcontractorUserVo {
+
+    List<SubContractorBySysUserVo> userList;
+
+    String roleid;
+
+}

+ 29 - 0
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxSubcontractorUserController.java

@@ -0,0 +1,29 @@
+package com.rongwei.bsserver.controller;
+
+import com.rongwei.bscommon.sys.service.ZhcxSubcontractorUserService;
+import com.rongwei.bsentity.vo.SubcontractorUserVo;
+import com.rongwei.rwcommon.base.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author zhuang
+ * 分包商账号
+ */
+@RestController
+@RequestMapping("/zhcxSubcontractorUser")
+public class ZhcxSubcontractorUserController {
+
+    @Autowired
+    private ZhcxSubcontractorUserService zhcxSubcontractorUserService;
+
+    @RequestMapping("/batchSaveList")
+    public R batchSaveList(@RequestBody SubcontractorUserVo subcontractorUserVo){
+        zhcxSubcontractorUserService.batchSaveList(subcontractorUserVo);
+        return R.ok();
+    }
+}