Răsfoiți Sursa

erge branch 'release_v1.0.0' into dev_v1.0.0
merge

wangliang 1 an în urmă
părinte
comite
e6d4728cda

+ 2 - 2
sop-api/install/mysql/init/init.sql

@@ -669,8 +669,8 @@ CREATE TABLE `sys_user` (
                             `update_id` bigint DEFAULT NULL COMMENT '修改人',
                             `update_time` bigint DEFAULT NULL COMMENT '修改时间',
                             PRIMARY KEY (`id`) USING BTREE,
-                            UNIQUE KEY `sys_user_UN_login_name` (`org_id`,`login_name`),
-                            UNIQUE KEY `sys_user_UN_moblie_number` (`org_id`,`mobile_number`)
+                            UNIQUE KEY `sys_user_UN_login_name` (`login_name`),
+                            UNIQUE KEY `sys_user_UN_moblie_number` (`mobile_number`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
 
 -- ----------------------------

+ 3 - 3
sop-api/src/main/java/com/qmth/sop/server/api/SysUserController.java

@@ -63,10 +63,10 @@ public class SysUserController {
         return ResultUtil.ok(sysUserService.enable(sysUser));
     }
 
-    @ApiOperation(value = "修改密码")
-    @RequestMapping(value = "/update_password", method = RequestMethod.POST)
+    @ApiOperation(value = "初始化密码")
+    @RequestMapping(value = "/init_password", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result updatePassword(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
+    public Result initPassword(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysUserService.updatePassword(sysUser));
     }
 }

+ 8 - 0
sop-business/src/main/java/com/qmth/sop/business/service/SysUserService.java

@@ -130,6 +130,14 @@ public interface SysUserService extends IService<SysUser> {
      */
     Boolean updatePassword(SysUser sysUser) throws NoSuchAlgorithmException;
 
+    /**
+     * 初始化用户密码
+     *
+     * @param sysUser
+     * @return
+     */
+    Boolean initPassword(SysUser sysUser) throws NoSuchAlgorithmException;
+
     /**
      * 获取工作台待办
      *

+ 32 - 3
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserServiceImpl.java

@@ -24,7 +24,10 @@ import com.qmth.sop.business.util.AuthUtil;
 import com.qmth.sop.common.contant.SpringContextHolder;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.*;
-import com.qmth.sop.common.util.*;
+import com.qmth.sop.common.util.IpUtil;
+import com.qmth.sop.common.util.ResultUtil;
+import com.qmth.sop.common.util.ServletUtil;
+import com.qmth.sop.common.util.SessionUtil;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -308,7 +311,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             } else {//修改用户
                 SysUser dbUser = this.getById(sysUser.getId());
                 Optional.ofNullable(dbUser).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
-                sysUser.setPasswordInfo(sysUser.getMobileNumber());
 
                 List<SysUserRole> sysUserRoleList = commonCacheService.userRolePrivilegeCache(sysUser.getId());
                 List<Long> userRolesList = Arrays.asList(sysUser.getRoleIds());
@@ -320,7 +322,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         .set(SysUser::getRealName, sysUser.getRealName())
                         .set(SysUser::getCode, sysUser.getCode())
                         .set(SysUser::getMobileNumber, sysUser.getMobileNumber())
-                        .set(SysUser::getPassword, sysUser.getPassword())
                         .set(SysUser::getGender, sysUser.getGender())
                         .set(SysUser::getOrgId, sysUser.getOrgId())
                         .set(SysUser::getUpdateId, requestUser.getId())
@@ -437,6 +438,34 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return success;
     }
 
+    /**
+     * 初始化用户密码
+     *
+     * @param sysUser
+     * @return
+     * @throws NoSuchAlgorithmException
+     */
+    @Override
+    @Transactional
+    public Boolean initPassword(SysUser sysUser) throws NoSuchAlgorithmException {
+        Optional.ofNullable(sysUser).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("参数不能为空"));
+        Optional.ofNullable(sysUser.getId()).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("id不能为空"));
+
+        SysUser sysUserDb = this.getById(sysUser.getId());
+        Optional.ofNullable(sysUserDb).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
+
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        sysUserDb.setPasswordInfo(sysUserDb.getMobileNumber());
+        sysUserDb.updateInfo(requestUser.getId());
+        boolean success = this.saveOrUpdate(sysUserDb);
+        if (success) {
+            commonCacheService.updateUserCache(sysUser.getId());
+            //修改密码后,需要踢下线重新登录
+            this.removeUserInfo(sysUser.getId(), true);
+        }
+        return success;
+    }
+
     /**
      * 获取工作台待办
      *

+ 2 - 2
sop-business/src/main/resources/db/log/shudonghui_update_log.sql

@@ -309,6 +309,6 @@ UPDATE `sys_privilege` SET `name` = '批量导入', `url` = 'BatchImport', `type
 
 ---2023.10.8
 ALTER TABLE `sys_message`
-    MODIFY COLUMN `content` varchar(10000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容' AFTER `receive_user_id`;
+    MODIFY COLUMN `content` varchar(10000) CHARACTER SET utf8mb4 NOT NULL COMMENT '消息内容' AFTER `receive_user_id`;
 ALTER TABLE `sys_notice`
-    MODIFY COLUMN `content` varchar(10000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '内容' AFTER `title`;
+    MODIFY COLUMN `content` varchar(10000) CHARACTER SET utf8mb4 NOT NULL COMMENT '内容' AFTER `title`;

+ 16 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -1814,4 +1814,19 @@ SET code='DATE', `type`='FORM', form_id='device_in_time', form_name='device_in_t
 WHERE id=186;
 UPDATE t_d_form_widget
 SET code='DEVICE_IN_TABLE', `type`='FORM', form_id='device_in_table', form_name='device_in_table', title='设备入库表格', input_type='STRING', required=0, readable=0, writable=1, visable=1, `scale`=NULL, `length`=NULL, binding=NULL, data_grid=NULL, tips=NULL, format=NULL, span=12, sub_title=NULL, `options`=NULL, flow_type='CLOUD_MARK_SOP_FLOW', form_setup=11, handle=0, form_group=NULL, role_type=NULL, create_id=1, create_time=1
-WHERE id=187;
+WHERE id=187;
+
+--2023.10.08update
+ALTER TABLE sys_user DROP INDEX sys_user_UN_moblie_number;
+ALTER TABLE sys_user ADD CONSTRAINT sys_user_UN_moblie_number UNIQUE KEY (mobile_number);
+ALTER TABLE sys_user DROP KEY sys_user_UN_login_name;
+ALTER TABLE sys_user ADD CONSTRAINT sys_user_UN_login_name UNIQUE KEY (login_name);
+
+--2023.10.09update
+UPDATE sys_privilege
+SET name='初始化密码', url='InitPwd', `type`='LINK', parent_id=15, `sequence`=3, property=NULL, related='18', enable=1, default_auth=0, front_display=1
+WHERE id=17;
+UPDATE sys_privilege
+SET name='用户初始化密码', url='/api/admin/user/init_password', `type`='URL', parent_id=15, `sequence`=4, property='AUTH', related=NULL, enable=1, default_auth=1, front_display=0
+WHERE id=18;
+