Ver código fonte

Merge remote-tracking branch 'origin/release_v1.0.0' into release_v1.0.0

shudonghui 1 ano atrás
pai
commit
83972d6e4a

+ 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;
+    }
+
     /**
      * 获取工作台待办
      *

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

@@ -1816,9 +1816,17 @@ 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;
 
---2023.9.22update
+--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;
+