Browse Source

flowbale用户增加

tudc 4 năm trước cách đây
mục cha
commit
f860e0f8e0

+ 66 - 2
tianhu-system/src/main/java/com/tianhu/system/companyAuth/controller/OwnAuthController.java

@@ -17,6 +17,7 @@ import com.tianhu.system.api.model.LoginUser;
 import com.tianhu.system.companyAuth.service.IOwnAuthService;
 import com.tianhu.system.domain.*;
 import com.tianhu.system.service.*;
+import com.tianhu.system.utils.FlowableService;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -116,6 +117,8 @@ public class OwnAuthController extends BaseController {
      * CFCA证件类型(小额打款认证)
      */
     private String TYPECODE = "0";
+    @Autowired
+    private FlowableService flowableService;
     /**
      * 新增企业认证
      *
@@ -249,7 +252,10 @@ public class OwnAuthController extends BaseController {
             SysCompany.setScyAppendixFile(qtfjList.get(0).get("uid"));
         }
         //运营商三要素
-        JSONObject operatorAuth =null;
+        JSONObject operatorAuth = null;
+        /*JSONObject operatorAuth = new JSONObject();
+        operatorAuth.put("Message", "SUCCESS");
+        operatorAuth.put("Verification", "20");*/
         if(CommonUtil.isNotEmpty(handler)){
             operatorAuth=  CfcaUtil.operatorAuth(ISPRO, INSTITUTIONID, review, IDENTIFICATIONTYPE, handlerCard, phoneNumber, zbiRemark);
         }else{
@@ -265,6 +271,9 @@ public class OwnAuthController extends BaseController {
         }
         //工商四要素
         JSONObject companyAuth = CfcaUtil.companyAuth(ISPRO, INSTITUTIONID, scyName, scySocialCode, scyLegal, IDENTIFICATIONTYPE, scyLegalId, zbiRemark);
+        /*JSONObject companyAuth = new JSONObject();
+        companyAuth.put("Message", "SUCCESS");
+        companyAuth.put("Verification", "20");*/
         System.out.print("工商四要素结果==========>" + companyAuth);
         //状态(00:正常, 01:停用, 02:待四要素认证(认证中), 03:待对公户认证(认证中), 04:待实名审核(认证中), 99:删除)
         SysCompany.setScyStatus("03");
@@ -285,6 +294,7 @@ public class OwnAuthController extends BaseController {
         SysCompany.setCreateTime(currentTime);
         sysCompanyService.createSysCompany(SysCompany);
         //创建部门
+        String alternateNumber = IdUtils.fastSimpleUUID();
         SysDept dept = new SysDept();
         dept.setCompanyId(scyId);
         dept.setDeptName(scyName);
@@ -292,6 +302,7 @@ public class OwnAuthController extends BaseController {
         dept.setAncestors(defaultAn);
         dept.setOrderNum(defaultOrder);
         dept.setCreateBy(use.getUserId()+"");
+        dept.setAlternateNumber(alternateNumber);
         deptService.insertDept(dept);
         List<SysDept> deptList= deptService.selectDeptList(dept);
         //部门id
@@ -334,9 +345,10 @@ public class OwnAuthController extends BaseController {
             userService.insertUserRole(listUser);
         }
         SysUser listUserTwo = userService.selectUserByUserName(phoneNumber);
+        SysUser listUsers = null;
         //创建其他和管理员
         if(CommonUtil.isNotEmpty(operator)&&CommonUtil.isNotEmpty(number)){
-            SysUser listUsers = userService.selectUserByUserName(number);
+            listUsers = userService.selectUserByUserName(number);
             if(listUsers == null) {
                 SysUser user = new SysUser();
                 user.setUserName(number);
@@ -393,6 +405,45 @@ public class OwnAuthController extends BaseController {
         sysUserCompanyRelService.updateSysUserCompanyRel(sysUserCompanyRel);
         //返回企业信息
         SysCompany company = sysCompanyService.getById(scyId);
+
+        // 审批增加分组
+        Map<String, Object> flowableRes = flowableService.addFlowableGroup(scyId, company.getScyName());
+        if (!"200".equals(flowableRes.get("code"))) {
+            throw new Exception("审批数据新增失败!");
+        }
+        flowableRes = flowableService.addFlowableGroup(alternateNumber, dept.getDeptName());
+        if (!"200".equals(flowableRes.get("code"))) {
+            throw new Exception("审批数据新增失败!");
+        }
+        // 经办人与登录用户是同一手机号
+        if (use.getUserName().equals(phoneNumber)) {
+            flowableRes = flowableService.addFlowableUser(String.valueOf(use.getUserId()), use.getNickName(), scyId);
+            if (!"200".equals(flowableRes.get("code"))) {
+                throw new Exception("审批数据新增失败!");
+            }
+        } else {
+            flowableRes = flowableService.addFlowableUser(String.valueOf(use.getUserId()), use.getNickName(), scyId);
+            if (!"200".equals(flowableRes.get("code"))) {
+                throw new Exception("审批数据新增失败!");
+            }
+            // 经办人不存在
+            if(listUser == null){
+                listUser = userService.selectUserByUserName(phoneNumber);
+            }
+            flowableRes = flowableService.addFlowableUser(String.valueOf(listUser.getUserId()), listUser.getNickName(), scyId);
+            if (!"200".equals(flowableRes.get("code"))) {
+                throw new Exception("审批数据新增失败!");
+            }
+        }
+        // 业务人员不存在
+        if (CommonUtil.isNotEmpty(operator) && CommonUtil.isNotEmpty(number) && listUsers == null) {
+            listUsers = userService.selectUserByUserName(number);
+            flowableRes = flowableService.addFlowableUser(String.valueOf(listUsers.getUserId()), listUsers.getNickName(), scyId);
+            if (!"200".equals(flowableRes.get("code"))) {
+                throw new Exception("审批数据新增失败!");
+            }
+        }
+
         return R.ok(company);
     }
 
@@ -493,6 +544,10 @@ public class OwnAuthController extends BaseController {
             }else{
             //企业打款申请
             JSONObject operatorAuth = CfcaUtil.paymentApply(ISPRO, INSTITUTIONID, pbaiAccountName, pbaiBankaccountId,list.get(0).getZcbiBankNo(),zbiRemark);
+            /*JSONObject operatorAuth = new JSONObject();
+            operatorAuth.put("Message", "SUCCESS");
+            operatorAuth.put("Status", "20");
+            operatorAuth.put("TxSN", "100000001");*/
             System.out.print("绑定对公户返回结果==========>" + operatorAuth);
             String  TxSN =  operatorAuth.getString("TxSN");
             if("SUCCESS".equals(operatorAuth.getString("Message"))){
@@ -554,6 +609,9 @@ public class OwnAuthController extends BaseController {
         String zbiRemark = CommonUtil.objToString(map.get("zbiRemark"));
         //打款验证
         JSONObject operatorAuth = CfcaUtil.paymentAuth(ISPRO, INSTITUTIONID, bankAcc.get(0).getPbaiCfcaNo(), amount, zbiRemark);
+        /*JSONObject operatorAuth = new JSONObject();
+        operatorAuth.put("Message", "SUCCESS");
+        operatorAuth.put("Verification", "20");*/
         System.out.print("打款认证结果==========>" + operatorAuth);
         if (!"交易异常[已验证通过,不能重复验证]".equals(operatorAuth.getString("Message"))) {
             //校验已通过
@@ -590,6 +648,9 @@ public class OwnAuthController extends BaseController {
         String phone = CommonUtil.objToString(map.get("phone"));
         //发送短信验证码
         JSONObject operatorAuth = CfcaUtil.sendSmsCode(ISPRO, INSTITUTIONID,null,phone,null);
+        /*JSONObject operatorAuth = new JSONObject();
+        operatorAuth.put("Message", "SUCCESS");
+        operatorAuth.put("Status", "20");*/
         System.out.print("发送短信验证码结果==========>" + operatorAuth);
         if("SUCCESS".equals(operatorAuth.getString("Message"))){
             if(!"20".equals(operatorAuth.getString("Status"))){
@@ -634,6 +695,9 @@ public class OwnAuthController extends BaseController {
         String code = CommonUtil.objToString(map.get("code"));
         //企业打款申请
         JSONObject operatorAuth = CfcaUtil.checkSmsCode(ISPRO, INSTITUTIONID,phone,code,null);
+        /*JSONObject operatorAuth = new JSONObject();
+        operatorAuth.put("Message", "SUCCESS");
+        operatorAuth.put("Verification", "20");*/
         System.out.print("短信验证码验证结果==========>" + operatorAuth);
         if("SUCCESS".equals(operatorAuth.getString("Message"))){
             if(!"20".equals(operatorAuth.getString("Verification"))){

+ 2 - 2
tianhu-system/src/main/java/com/tianhu/system/controller/SysDeptController.java

@@ -227,10 +227,10 @@ public class SysDeptController extends BaseController
                 return AjaxResult.error("新增部门'" + dept.getDeptName() + "'失败,邮箱格式不正确");
             }
         }
-        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
+        /*if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
         {
             return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
-        }else if(dept.getParentId() == null){
+        }else */if(dept.getParentId() == null){
             return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能为空");
         }else if (dept.getParentId().equals(dept.getDeptId()))
         {

+ 69 - 22
tianhu-system/src/main/java/com/tianhu/system/controller/SysUserController.java

@@ -24,7 +24,11 @@ import com.tianhu.system.api.domain.SysRole;
 import com.tianhu.system.api.domain.SysUser;
 import com.tianhu.system.api.model.LoginUser;
 import com.tianhu.system.domain.*;
+import com.tianhu.system.mapper.SysDeptMapper;
+import com.tianhu.system.mapper.SysUserMapper;
+import com.tianhu.system.mapper.SysUserRoleMapper;
 import com.tianhu.system.service.*;
+import com.tianhu.system.utils.FlowableService;
 import com.tianhu.system.utils.SysConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -78,7 +82,14 @@ public class SysUserController extends BaseController
     private RedisService redisService;
     @Autowired
     private ISysWeChatService iSysWeChatService;
-
+    @Autowired
+    private FlowableService flowableService;
+    @Autowired
+    private SysUserMapper userMapper;
+    @Autowired
+    private SysUserRoleMapper userRoleMapper;
+    @Autowired
+    private SysDeptMapper deptMapper;
 
     //    下载模板
     @PostMapping("/importTemplate")
@@ -175,10 +186,10 @@ public class SysUserController extends BaseController
             // 扫码后注册
             if ("2".equals(type)) {
                 if (StringUtils.isNotNull(sysUser)) {
-                    return R.fail("手机号已被注册!");
+                    throw new BaseException("手机号已被注册!");
                 }
                 if (StringUtils.isEmpty(unionId)) {
-                    return R.fail("unionId数据错误!");
+                    throw new BaseException("unionId数据错误!");
                 }
 
                 //查询微信关联表找到员工信息
@@ -186,7 +197,7 @@ public class SysUserController extends BaseController
                 weChatLambdaQueryWrapper.eq(SysWeChat::getSwcWxUuid, unionId);
                 List<SysWeChat> list = iSysWeChatService.findSysWeChats(weChatLambdaQueryWrapper);
                 if (list.size() != 0) {
-                    return R.fail("此微信已绑定账号!");
+                    throw new BaseException("此微信已绑定账号!");
                 }
 
                 sysUser = new SysUser();
@@ -217,7 +228,7 @@ public class SysUserController extends BaseController
         } else {
             if (StringUtils.isNull(sysUser))
             {
-                return R.fail("用户名或密码错误");
+                throw new BaseException("用户名或密码错误");
             }
         }
         // 查询是否实名认证
@@ -249,7 +260,7 @@ public class SysUserController extends BaseController
                 SysCompany company = companyService.getById(userCompanyRelList.get(0).getSucrCompanyId());
                 sysUser.setCompanyType(company.getScyType());
                 if ("01".equals(company.getScyStatus()) || "99".equals(company.getScyStatus())) {
-                    return R.fail("企业状态异常,请联系管理员!");
+                    throw new BaseException("企业状态异常,请联系管理员!");
                 }
                 sysUser.setCompanyStatus(company.getScyStatus());
              // 平台用户
@@ -432,8 +443,8 @@ public class SysUserController extends BaseController
     @PreAuthorize(hasPermi = "system:user:add")
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysUser user)
-    {
+    @Transactional(rollbackFor=Exception.class)
+    public AjaxResult add(@Validated @RequestBody SysUser user) throws Exception {
         LoginUser userInfo = tokenService.getLoginUser();
         SysUser use = userInfo.getSysUser();
         //000000:代表运维人员
@@ -444,24 +455,60 @@ public class SysUserController extends BaseController
                 user.setCompanyId(use.getCompanyId());
             }
         }
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),user.getCompanyId()))||use.getUserName().equals(user.getUserName()))
-        {
-            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录名称已存在");
+
+        if(user.getRoleIds().length == 0){
+            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,请先选择角色");
         }
-        else if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))||use.getPhonenumber().equals(user.getPhonenumber()))
-        {
-            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
+
+        // 用户已存在
+        Map map = new HashMap();
+        map.put("userName", user.getUserName());
+        int count = userMapper.checkUserNameUnique(map);
+        // 用户不存在
+        if (count == 0) {
+            String password = configService.selectConfigByKey("sys.user.initPassword");
+            user.setStatus("0");
+            user.setPassword(password);
+            user.setCreateBy(SecurityUtils.getUsername());
+            userMapper.insertUser(user);
         }
-        else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))||use.getEmail().equals(user.getEmail()))
+        SysUser queryUser = userService.selectUserByUserName(user.getUserName());
+        Long[] roles = user.getRoleIds();
+        if (StringUtils.isNotNull(roles))
         {
-            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱已存在");
-        }else if(user.getRoleIds().length == 0){
-            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,请先选择角色");
+            // 新增用户与角色管理
+            List<SysUserRole> list = new ArrayList<SysUserRole>();
+            for (Long roleId : roles)
+            {
+                SysUserRole ur = new SysUserRole();
+                ur.setUserId(queryUser.getUserId());
+                ur.setRoleId(roleId);
+                list.add(ur);
+            }
+            if (list.size() > 0)
+            {
+                userRoleMapper.batchUserRole(list);
+            }
         }
-        user.setStatus("0");
-        user.setCreateBy(SecurityUtils.getUsername());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        return toAjax(userService.insertUser(user));
+
+        SysUserCompanyRel userCompanyRel = new SysUserCompanyRel();
+        userCompanyRel.setSucrUserId(queryUser.getUserId());
+        userCompanyRel.setSucrCompanyId(use.getCompanyId());
+        userCompanyRel.setSucrHandler("0");
+        userCompanyRel.setSucrDeptId(user.getDeptId());
+        userCompanyRelService.createSysUserCompanyRel(userCompanyRel);
+
+        // 审批表增加数据
+        Map<String, Object> flowableRes = flowableService.addFlowableUser(String.valueOf(queryUser.getUserId()), user.getNickName(), use.getCompanyId());
+        if (!"200".equals(flowableRes.get("code"))) {
+            throw new Exception("审批数据新增失败!");
+        }
+        SysDept dept = deptMapper.selectDeptById(use.getDeptId());
+        flowableRes = flowableService.addFlowableUser(String.valueOf(queryUser.getUserId()), user.getNickName(), dept.getAlternateNumber());
+        if (!"200".equals(flowableRes.get("code"))) {
+            throw new Exception("审批数据新增失败!");
+        }
+        return toAjax(1);
     }
 
     /**

+ 2 - 2
tianhu-system/src/main/resources/bootstrap.yml

@@ -14,10 +14,10 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.5.3:8848
+        server-addr: 192.168.0.127:8848
       config:
         # 配置中心地址
-        server-addr: 192.168.5.3:8848
+        server-addr: 192.168.0.127:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置

+ 6 - 6
tianhu-system/src/main/resources/mapper/system/OwnSysUserMapper.xml

@@ -64,14 +64,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			sys_user_company_rel ucr
 		on
 			(ucr.sucr_user_id = u.user_id
-<!--			<if test="companyId != '000000'">-->
-<!--				and ucr.sucr_company_id = #{companyId}-->
-<!--			</if>-->
+			<if test="companyId != '000000'">
+				and ucr.sucr_company_id = #{companyId}
+			</if>
 			)
 		WHERE u.del_flag = '0'
-<!--		<if test="companyId != '000000'">-->
-<!--			and ucr.sucr_company_id = #{companyId}-->
-<!--		</if>-->
+		<if test="companyId != '000000'">
+			and ucr.sucr_company_id = #{companyId}
+		</if>
 		<if test="userName != null and userName != ''">
 			AND u.user_name like concat('%', #{userName}, '%')
 		</if>

+ 0 - 3
tianhu-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -128,9 +128,6 @@
 
 	<select id="checkUserNameUnique" parameterType="map" resultType="int">
 		select count(1) from sys_user where user_name = #{userName} and del_flag = '0'
-		<if test="companyId != null and companyId != ''">
-			and company_id = #{companyId}
-		</if>
 		limit 1
 	</select>