Commit 63f84145 authored by 赵啸非's avatar 赵啸非

修改工作人员用户名登录

parent c04bda57
......@@ -264,36 +264,36 @@ CREATE TABLE `mortals_sys_window_matter` (
-- 工作人员表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_workman`;
CREATE TABLE `mortals_sys_workman` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号,主键,自增长',
`systemUserId` bigint(20) DEFAULT NULL COMMENT '系统用户id号',
`deptId` bigint(20) DEFAULT NULL COMMENT '部门id号',
`deptName` varchar(64) DEFAULT NULL COMMENT '部门名称',
`windowId` bigint(20) DEFAULT NULL COMMENT '窗口id号',
`windowName` varchar(64) DEFAULT NULL COMMENT '窗口名称',
`siteId` bigint(20) DEFAULT NULL COMMENT '站点ID',
`siteName` varchar(255) DEFAULT NULL COMMENT '站点名称',
`name` varchar(64) DEFAULT NULL COMMENT '姓名',
`number` varchar(64) DEFAULT NULL COMMENT '工号',
`userpost` varchar(64) DEFAULT NULL COMMENT '职务',
`posttitle` varchar(64) DEFAULT NULL COMMENT '职称',
`politicalstatus` tinyint(2) DEFAULT '0' COMMENT '政治面貌 (0.中共党员,1.中共预备党员,2.共青团员,3.普通居民,4.其它)',
`dangyuan` tinyint(2) DEFAULT '0' COMMENT '党员 (0.非党员,1.党员,2.党员示范岗,3.党员先锋岗)',
`phone` varchar(64) DEFAULT NULL COMMENT '电话',
`mobile` varchar(64) DEFAULT NULL COMMENT '手机',
`starlevel` tinyint(2) DEFAULT NULL COMMENT '星级',
`summary` varchar(255) DEFAULT NULL COMMENT '个人简介',
`photoPath` varchar(255) DEFAULT NULL COMMENT '照片',
`duty` mediumtext COMMENT '岗位职责',
`promise` mediumtext COMMENT '服务承诺',
`business` mediumtext COMMENT '办理事项',
`online` tinyint(2) DEFAULT '1' COMMENT '是否在线(0.离线,1.在线,2.暂离,3.点击暂离,4.回归,5.登陆)',
`createTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`createUserId` bigint(20) DEFAULT NULL COMMENT '创建用户',
`updateTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '工作人员表' ROW_FORMAT = Dynamic;
CREATE TABLE mortals_sys_workman(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`loginName` varchar(64) COMMENT '用户登录名',
`loginPwd` varchar(128) COMMENT '密码',
`deptId` bigint(20) COMMENT '部门id号',
`deptName` varchar(64) COMMENT '部门名称',
`windowId` bigint(20) COMMENT '窗口id号',
`windowName` varchar(64) COMMENT '窗口名称',
`siteId` bigint(20) COMMENT '站点ID',
`siteName` varchar(64) COMMENT '站点名称',
`name` varchar(64) COMMENT '姓名',
`number` varchar(64) COMMENT '工号',
`userpost` varchar(64) COMMENT '职务',
`posttitle` varchar(64) COMMENT '职称',
`politicalstatus` tinyint(2) COMMENT '政治面貌 (0.中共党员,1.中共预备党员,2.共青团员,3.普通居民,4.其它)',
`dangyuan` tinyint(2) COMMENT '党员 (0.非党员,1.党员,2.党员示范岗,3.党员先锋岗)',
`phone` varchar(64) COMMENT '电话',
`mobile` varchar(64) COMMENT '手机',
`starlevel` tinyint(2) COMMENT '星级',
`summary` varchar(255) COMMENT '个人简介',
`photoPath` varchar(255) COMMENT '照片',
`duty` mediumtext COMMENT '岗位职责',
`promise` mediumtext COMMENT '服务承诺',
`business` mediumtext COMMENT '办理事项',
`online` tinyint(2) COMMENT '是否在线(0.离线,1.在线,2.暂离,3.点击暂离,4.回归,5.登陆)',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='工作人员';
-- ----------------------------
-- 基础事项表
......
......@@ -6220,7 +6220,7 @@ data|object|数据对象|-
 current_page|Integer|当前页|-
 data|array|结果集列表|数组
  id|Long|序号,主键,自增长|-
  systemUserId|Long|系统用户id号|-
  loginName|Long|工作人员登录名称|-
  deptId|Long|部门id号|-
  deptName|String|部门名称|-
  windowId|Long|窗口id号|-
......@@ -6298,8 +6298,6 @@ code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
data|object|数据对象|-
 id|Long|序号,主键,自增长|-
 systemUserId|Long|系统用户id号|-
 systemUserName|Long|系统用户名|-
 deptId|Long|部门id号|-
 deptName|String|部门名称|-
 windowId|Long|窗口id号|-
......@@ -6363,7 +6361,6 @@ code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
data|object|数据对象|-
 id|Long|序号,主键,自增长|-
 systemUserId|Long|系统用户id号|-
 deptId|Long|部门id号|-
 deptName|String|部门名称|-
 windowId|Long|窗口id号|-
......@@ -6404,7 +6401,6 @@ dict|object|字典对象|-
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新工作人员:id为空时为新增保存,否则为更新提交
......@@ -6415,7 +6411,6 @@ dict|object|字典对象|-
---|---|---|---|---
loginName|String|用户名|是|-
loginPwd|String|密码|是|-
roleId|Long|权限Id|是|-
deptId|Long|部门id号|是|-
deptName|String|部门名称|是|-
windowId|Long|窗口id号|是|-
......@@ -6453,7 +6448,6 @@ data|object|数据对象|-
 id|Long|保存后主键id|-
 entity|object|保存更新实体|对象
  id|Long|序号,主键,自增长|-
  systemUserId|Long|系统用户id号|-
  deptId|Long|部门id号|-
  deptName|String|部门名称|-
  windowId|Long|窗口id号|-
......@@ -6483,6 +6477,68 @@ data|object|数据对象|-
```
```
### 工作人员登录
**请求URL:** workman/doLogin
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:**
**请求参数:**
参数名称|类型|备注|必填|其它
---|---|---|---|---
loginName|String|用户名|是|-
loginPwd|String|密码|是|-
**请求样例:**
```
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
data|object|数据对象|-
 id|Long|保存后主键id|-
 entity|object|保存更新实体|对象
  id|Long|序号,主键,自增长|-
  deptId|Long|部门id号|-
  deptName|String|部门名称|-
  windowId|Long|窗口id号|-
  windowName|String|窗口名称|-
  siteId|Long|站点ID|-
  siteName|String|站点名称|-
  name|String|姓名|-
  number|String|工号|-
  userpost|String|职务|-
  posttitle|String|职称|-
  politicalstatus|Integer|政治面貌 (0.中共党员,1.中共预备党员,2.共青团员,3.普通居民,4.其它)|-
  dangyuan|Integer|党员 (0.非党员,1.党员,2.党员示范岗,3.党员先锋岗)|-
  phone|String|电话|-
  mobile|String|手机|-
  starlevel|Integer|星级|-
  summary|String|个人简介|-
  photoPath|String|照片|-
  duty|String|岗位职责|-
  promise|String|服务承诺|-
  business|String|办理事项|-
  online|Integer|是否在线(0.离线,1.在线,2.暂离,3.点击暂离,4.回归,5.登陆)|-
  createTime|Date|创建时间|-
  createUserId|Long|创建用户|-
  updateTime|Date|修改时间|-
**响应消息样例:**
```
```
......
......@@ -129,15 +129,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
throw new AppException("密码验认出错!", e);
}
//查询是否关联了工作人员,并且关联的模块
WorkmanEntity workmanEntity = workmanServicel.selectOne(new WorkmanQuery().systemUserId(sysUser.getId()));
if (!ObjectUtils.isEmpty(workmanEntity)) {
List<Long> modleIdList = Arrays.asList(workmanEntity.getMobile().split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
ModelQuery modelQuery = new ModelQuery();
modelQuery.setIdList(modleIdList);
List<ModelEntity> modelEntities = modelService.find(modelQuery);
sysUser.setModleList(modelEntities);
}
return sysUser;
}
......
package com.mortals.xhx.module.workman.model;
import java.util.List;
import java.util.ArrayList;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.workman.model.vo.WorkmanVo;
/**
* 工作人员实体对象
*
* @author zxfei
* @date 2022-01-24
* @date 2022-06-14
*/
public class WorkmanEntity extends WorkmanVo {
private static final long serialVersionUID = 1L;
/**
* 系统用户id号
*/
private Long systemUserId;
/**
* 部门id号
*/
......@@ -23,7 +26,6 @@ public class WorkmanEntity extends WorkmanVo {
/**
* 部门名称
*/
@Excel(name = "部门名称")
private String deptName;
/**
* 窗口id号
......@@ -32,7 +34,6 @@ public class WorkmanEntity extends WorkmanVo {
/**
* 窗口名称
*/
@Excel(name = "窗口名称")
private String windowName;
/**
* 站点ID
......@@ -41,57 +42,46 @@ public class WorkmanEntity extends WorkmanVo {
/**
* 站点名称
*/
@Excel(name = "站点名称")
private String siteName;
/**
* 姓名
*/
@Excel(name = "姓名")
private String name;
/**
* 工号
*/
@Excel(name = "工号")
private String number;
/**
* 职务
*/
@Excel(name = "职务")
private String userpost;
/**
* 职称
*/
@Excel(name = "职称")
private String posttitle;
/**
* 政治面貌 (0.中共党员,1.中共预备党员,2.共青团员,3.普通居民,4.其它)
*/
@Excel(name = "政治面貌 ")
private Integer politicalstatus;
/**
* 党员 (0.非党员,1.党员,2.党员示范岗,3.党员先锋岗)
*/
@Excel(name = "党员 ")
private Integer dangyuan;
/**
* 电话
*/
@Excel(name = "电话")
private String phone;
/**
* 手机
*/
@Excel(name = "手机")
private String mobile;
/**
* 星级
*/
@Excel(name = "星级")
private Integer starlevel;
/**
* 个人简介
*/
@Excel(name = "个人简介")
private String summary;
/**
* 照片
......@@ -100,44 +90,31 @@ public class WorkmanEntity extends WorkmanVo {
/**
* 岗位职责
*/
@Excel(name = "岗位职责")
private String duty;
/**
* 服务承诺
*/
@Excel(name = "服务承诺")
private String promise;
/**
* 办理事项
*/
@Excel(name = "办理事项")
private String business;
/**
* 是否在线(0.离线,1.在线,2.暂离,3.点击暂离,4.回归,5.登陆)
*/
private Integer online;
/**
* 配置站点模块,逗号分隔
* 用户登录名
*/
private String modelIds;
private String loginName;
/**
* 密码
*/
@JSONField(serialize = false)
private String loginPwd;
public WorkmanEntity(){}
/**
* 获取 系统用户id号
* @return Long
*/
public Long getSystemUserId(){
return systemUserId;
}
/**
* 设置 系统用户id号
* @param systemUserId
*/
public void setSystemUserId(Long systemUserId){
this.systemUserId = systemUserId;
}
/**
* 获取 部门id号
* @return Long
......@@ -433,18 +410,32 @@ public class WorkmanEntity extends WorkmanVo {
this.online = online;
}
/**
* 获取 配置站点模块,逗号分隔
* 获取 用户登录名
* @return String
*/
public String getModelIds(){
return modelIds;
public String getLoginName(){
return loginName;
}
/**
* 设置 用户登录名
* @param loginName
*/
public void setLoginName(String loginName){
this.loginName = loginName;
}
/**
* 设置 配置站点模块,逗号分隔
* @param modelIds
* 获取 密码
* @return String
*/
public void setModelIds(String modelIds){
this.modelIds = modelIds;
public String getLoginPwd(){
return loginPwd;
}
/**
* 设置 密码
* @param loginPwd
*/
public void setLoginPwd(String loginPwd){
this.loginPwd = loginPwd;
}
......@@ -468,7 +459,6 @@ public class WorkmanEntity extends WorkmanVo {
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",systemUserId:").append(getSystemUserId());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptName:").append(getDeptName());
sb.append(",windowId:").append(getWindowId());
......@@ -490,56 +480,57 @@ public class WorkmanEntity extends WorkmanVo {
sb.append(",promise:").append(getPromise());
sb.append(",business:").append(getBusiness());
sb.append(",online:").append(getOnline());
sb.append(",modelIds:").append(getModelIds());
sb.append(",loginName:").append(getLoginName());
sb.append(",loginPwd:").append(getLoginPwd());
return sb.toString();
}
public void initAttrValue(){
this.systemUserId = null;
this.deptId = 0L;
this.deptId = null;
this.deptName = "";
this.deptName = null;
this.windowId = 0L;
this.windowId = null;
this.windowName = null;
this.windowName = "";
this.siteId = null;
this.siteName = null;
this.siteName = "";
this.name = null;
this.name = "";
this.number = null;
this.number = "";
this.userpost = null;
this.userpost = "";
this.posttitle = null;
this.posttitle = "";
this.politicalstatus = 0;
this.dangyuan = 0;
this.phone = null;
this.phone = "";
this.mobile = null;
this.mobile = "";
this.starlevel = null;
this.starlevel = 0;
this.summary = null;
this.summary = "";
this.photoPath = null;
this.photoPath = "";
this.duty = null;
this.duty = "";
this.promise = null;
this.promise = "";
this.business = null;
this.business = "";
this.online = 1;
this.modelIds = "";
this.loginName = "";
this.loginPwd = "";
}
}
\ No newline at end of file
......@@ -6,7 +6,7 @@ import com.mortals.xhx.module.workman.model.WorkmanEntity;
* 工作人员查询对象
*
* @author zxfei
* @date 2022-01-24
* @date 2022-06-14
*/
public class WorkmanQuery extends WorkmanEntity {
/** 开始 序号,主键,自增长 */
......@@ -21,18 +21,6 @@ public class WorkmanQuery extends WorkmanEntity {
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 开始 系统用户id号 */
private Long systemUserIdStart;
/** 结束 系统用户id号 */
private Long systemUserIdEnd;
/** 增加 系统用户id号 */
private Long systemUserIdIncrement;
/** 系统用户id号列表 */
private List <Long> systemUserIdList;
/** 开始 部门id号 */
private Long deptIdStart;
......@@ -183,8 +171,11 @@ public class WorkmanQuery extends WorkmanEntity {
/** 结束 修改时间 */
private String updateTimeEnd;
/** 配置站点模块,逗号分隔 */
private List<String> modelIdsList;
/** 用户登录名 */
private List<String> loginNameList;
/** 密码 */
private List<String> loginPwdList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<WorkmanQuery> orConditionList;
......@@ -258,70 +249,6 @@ public class WorkmanQuery extends WorkmanEntity {
this.idList = idList;
}
/**
* 获取 开始 系统用户id号
* @return systemUserIdStart
*/
public Long getSystemUserIdStart(){
return this.systemUserIdStart;
}
/**
* 设置 开始 系统用户id号
* @param systemUserIdStart
*/
public void setSystemUserIdStart(Long systemUserIdStart){
this.systemUserIdStart = systemUserIdStart;
}
/**
* 获取 结束 系统用户id号
* @return $systemUserIdEnd
*/
public Long getSystemUserIdEnd(){
return this.systemUserIdEnd;
}
/**
* 设置 结束 系统用户id号
* @param systemUserIdEnd
*/
public void setSystemUserIdEnd(Long systemUserIdEnd){
this.systemUserIdEnd = systemUserIdEnd;
}
/**
* 获取 增加 系统用户id号
* @return systemUserIdIncrement
*/
public Long getSystemUserIdIncrement(){
return this.systemUserIdIncrement;
}
/**
* 设置 增加 系统用户id号
* @param systemUserIdIncrement
*/
public void setSystemUserIdIncrement(Long systemUserIdIncrement){
this.systemUserIdIncrement = systemUserIdIncrement;
}
/**
* 获取 系统用户id号
* @return systemUserIdList
*/
public List<Long> getSystemUserIdList(){
return this.systemUserIdList;
}
/**
* 设置 系统用户id号
* @param systemUserIdList
*/
public void setSystemUserIdList(List<Long> systemUserIdList){
this.systemUserIdList = systemUserIdList;
}
/**
* 获取 开始 部门id号
* @return deptIdStart
......@@ -1109,19 +1036,34 @@ public class WorkmanQuery extends WorkmanEntity {
}
/**
* 获取 配置站点模块,逗号分隔
* @return modelIdsList
* 获取 用户登录名
* @return loginNameList
*/
public List<String> getLoginNameList(){
return this.loginNameList;
}
/**
* 设置 用户登录名
* @param loginNameList
*/
public List<String> getModelIdsList(){
return this.modelIdsList;
public void setLoginNameList(List<String> loginNameList){
this.loginNameList = loginNameList;
}
/**
* 获取 密码
* @return loginPwdList
*/
public List<String> getLoginPwdList(){
return this.loginPwdList;
}
/**
* 设置 配置站点模块,逗号分隔
* @param modelIdsList
* 设置 密码
* @param loginPwdList
*/
public void setModelIdsList(List<String> modelIdsList){
this.modelIdsList = modelIdsList;
public void setLoginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList;
}
/**
* 设置 序号,主键,自增长
......@@ -1168,51 +1110,6 @@ public class WorkmanQuery extends WorkmanEntity {
return this;
}
/**
* 设置 系统用户id号
* @param systemUserId
*/
public WorkmanQuery systemUserId(Long systemUserId){
setSystemUserId(systemUserId);
return this;
}
/**
* 设置 开始 系统用户id号
* @param systemUserIdStart
*/
public WorkmanQuery systemUserIdStart(Long systemUserIdStart){
this.systemUserIdStart = systemUserIdStart;
return this;
}
/**
* 设置 结束 系统用户id号
* @param systemUserIdEnd
*/
public WorkmanQuery systemUserIdEnd(Long systemUserIdEnd){
this.systemUserIdEnd = systemUserIdEnd;
return this;
}
/**
* 设置 增加 系统用户id号
* @param systemUserIdIncrement
*/
public WorkmanQuery systemUserIdIncrement(Long systemUserIdIncrement){
this.systemUserIdIncrement = systemUserIdIncrement;
return this;
}
/**
* 设置 系统用户id号
* @param systemUserIdList
*/
public WorkmanQuery systemUserIdList(List<Long> systemUserIdList){
this.systemUserIdList = systemUserIdList;
return this;
}
/**
* 设置 部门id号
* @param deptId
......@@ -1843,20 +1740,39 @@ public class WorkmanQuery extends WorkmanEntity {
/**
* 设置 配置站点模块,逗号分隔
* @param modelIds
* 设置 用户登录名
* @param loginName
*/
public WorkmanQuery loginName(String loginName){
setLoginName(loginName);
return this;
}
/**
* 设置 用户登录名
* @param loginNameList
*/
public WorkmanQuery loginNameList(List<String> loginNameList){
this.loginNameList = loginNameList;
return this;
}
/**
* 设置 密码
* @param loginPwd
*/
public WorkmanQuery modelIds(String modelIds){
setModelIds(modelIds);
public WorkmanQuery loginPwd(String loginPwd){
setLoginPwd(loginPwd);
return this;
}
/**
* 设置 配置站点模块,逗号分隔
* @param modelIdsList
* 设置 密码
* @param loginPwdList
*/
public WorkmanQuery modelIdsList(List<String> modelIdsList){
this.modelIdsList = modelIdsList;
public WorkmanQuery loginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList;
return this;
}
......
package com.mortals.xhx.module.workman.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import com.mortals.framework.model.BaseEntityLong;
/**
* 工作人员视图对象
*
* @author zxfei
* @date 2022-01-12
*/
@Data
public class WorkmanVo extends BaseEntityLong {
/**
* 登录名
*/
private String loginName;
/**
* 登录密码,使用md5双次加密
*/
private String loginPwd;
/**
* 系统用户名
*/
private String systemUserName;
/**
* 权限Id
*/
private Long roleId;
}
\ No newline at end of file
package com.mortals.xhx.module.workman.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
/**
* WorkmanService
......@@ -12,4 +14,16 @@ import com.mortals.xhx.module.workman.model.WorkmanEntity;
*/
public interface WorkmanService extends ICRUDCacheService<WorkmanEntity,Long> {
/**
* 工作人员登录
*
* @param loginName 登录用户名
* @param password 登录密码
* @return
* @throws AppException
*/
WorkmanEntity doLogin(String loginName, String password) throws AppException;
}
\ No newline at end of file
......@@ -13,6 +13,7 @@ import com.mortals.xhx.base.system.role.service.RoleUserService;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -38,84 +39,44 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
@Autowired
private UserService userService;
@Autowired
private RoleUserService roleUserService;
@Override
protected void findAfter(WorkmanEntity params, Context context, List<WorkmanEntity> list) throws AppException {
buildList(list);
super.findAfter(params, context, list);
}
@Override
protected void findAfter(WorkmanEntity params, PageInfo pageInfo, Context context, List<WorkmanEntity> list) throws AppException {
buildList(list);
super.findAfter(params, pageInfo, context, list);
}
private void buildList(List<WorkmanEntity> list) {
list.stream().peek(item -> {
if (!ObjectUtils.isEmpty(item.getSystemUserId())) {
UserEntity userEntity = userService.get(item.getSystemUserId());
if (!ObjectUtils.isEmpty(userEntity)) {
item.setSystemUserName(userEntity.getRealName());
}
}
}).count();
}
@Override
protected void saveBefore(WorkmanEntity entity, Context context) throws AppException {
IUser currUser = context.getUser();
UserEntity user = new UserEntity();
user.setLoginName(entity.getLoginName());
user.setLoginPwd(entity.getLoginPwd());
user.setRealName(entity.getName());
user.setMobile(entity.getMobile());
user.setUserType(1);
user.setStatus(1);
user.setCreateTime(new Date());
if (currUser != null) {
user.setCreateUser(currUser.getLoginName());
user.setCreateUserName(currUser.getRealName());
user.setCreateUserId(currUser.getId());
if (StringUtils.isNull(entity.getLoginName())) {
throw new AppException("账号不能为空!");
}
if (StringUtils.isNotNull(user.getLoginName())) {
if (StringUtils.isNull(user.getLoginPwd())) {
throw new AppException("密码不能为空!");
}
List<UserEntity> list = userService.find(new UserQuery().loginName(user.getLoginName()));
if (CollectionUtils.isNotEmpty(list)) {
throw new AppException("账号已存在!");
}
userService.save(user, context);
if (ObjectUtils.isEmpty(entity.getRoleId())) {
throw new AppException("未选择用户权限!");
}
//添加权限
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(user.getId());
roleUserQuery.setRoleIdList(Arrays.asList(new Long[]{entity.getRoleId()}));
roleUserService.doDistributionRole(roleUserQuery);
entity.setSystemUserId(user.getId());
if (StringUtils.isNull(entity.getLoginPwd())) {
throw new AppException("密码不能为空!");
}
List<WorkmanEntity> list = this.find(new WorkmanQuery().loginName(entity.getLoginName()));
if (CollectionUtils.isNotEmpty(list)) {
throw new AppException("账号已存在!");
}
doHandlerUser(entity);
super.saveBefore(entity, context);
}
@Override
protected void updateBefore(WorkmanEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getSystemUserId())) {
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(entity.getSystemUserId());
roleUserQuery.setRoleIdList(Arrays.asList(new Long[]{entity.getRoleId()}));
roleUserService.doDistributionRole(roleUserQuery);
private void doHandlerUser(WorkmanEntity entity) throws AppException {
if (StringUtils.isNotEmpty(entity.getLoginPwd())) {
try {
entity.setLoginPwd(SecurityUtil.md5DoubleEncoding(entity.getLoginPwd()));
} catch (Exception e) {
throw new AppException("密码转换异常");
}
} else {
entity.setLoginPwd(null);
}
}
@Override
protected void updateBefore(WorkmanEntity entity, Context context) throws AppException {
doHandlerUser(entity);
super.updateBefore(entity, context);
}
......@@ -127,18 +88,19 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
@Override
protected void removeBefore(Long[] ids, Context context) throws AppException {
Arrays.asList(ids).stream().peek(item -> {
WorkmanEntity workmanEntity = this.get(item);
if (!ObjectUtils.isEmpty(workmanEntity) && !ObjectUtils.isEmpty(workmanEntity.getSystemUserId())) {
//删除用户及其关联信息
userService.remove(workmanEntity.getSystemUserId(), context);
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(workmanEntity.getSystemUserId());
Long[] roleUserIds = roleUserService.find(roleUserQuery).stream().map(m -> m.getId()).toArray(Long[]::new);
roleUserService.remove(roleUserIds, context);
public WorkmanEntity doLogin(String loginName, String password) throws AppException {
WorkmanEntity workmanEntity = this.selectOne(new WorkmanQuery().loginName(loginName));
if (workmanEntity == null || !workmanEntity.getLoginName().equals(loginName)) {
throw new AppException("用户名不存在!");
}
try {
if (!workmanEntity.getLoginPwd().equals(SecurityUtil.md5DoubleEncoding(password))) {
throw new AppException("登录密码错误!");
}
}).count();
super.removeBefore(ids, context);
} catch (Exception e) {
throw new AppException("密码验认出错!", e);
}
return workmanEntity;
}
}
\ No newline at end of file
package com.mortals.xhx.module.workman.web;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
......@@ -20,6 +22,8 @@ import com.mortals.xhx.module.workman.model.WorkmanQuery;
import com.mortals.xhx.module.workman.service.WorkmanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -38,14 +42,6 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
@Autowired
private ParamService paramService;
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private RoleUserService roleUserService;
@Autowired
private ModelService modelService;
public WorkmanController() {
super.setFormClass(WorkmanForm.class);
......@@ -59,52 +55,28 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
this.addDict(model, "starlevel", paramService.getParamBySecondOrganize("Workman", "starlevel"));
this.addDict(model, "online", paramService.getParamBySecondOrganize("Workman", "online"));
Map<String, String> userCollect = userService.find(new UserQuery(), getContext()).stream()
.filter(f -> !this.service.find(new WorkmanQuery()).stream().map(WorkmanEntity::getSystemUserId).collect(Collectors.toSet()).contains(f.getId()))
.collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n));
WorkmanEntity workmanEntity = (WorkmanEntity) model.get(KEY_RESULT_ENTITY);
if (!ObjectUtils.isEmpty(workmanEntity) && !ObjectUtils.isEmpty(workmanEntity.getSystemUserId())) {
UserEntity userEntity = userService.get(workmanEntity.getSystemUserId());
if (!ObjectUtils.isEmpty(userEntity)) {
userCollect.put(userEntity.getId().toString(), userEntity.getRealName());
}
}
Map<String, String> roleCollect = roleService.find(new RoleQuery())
.stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getName(), (o, n) -> n));
this.addDict(model, "systemUserId", userCollect);
this.addDict(model, "roleId", roleCollect);
this.addDict(model, "modelIds", modelService.find(new ModelQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getModelName())));
super.init(model, context);
}
@Override
protected int editAfter(Long id, Map<String, Object> model, WorkmanEntity entity, Context context) throws AppException {
buildWorkman(entity);
return super.editAfter(id, model, entity, context);
}
@Override
protected int viewAfter(Long id, Map<String, Object> model, WorkmanEntity entity, Context context) throws AppException {
buildWorkman(entity);
return super.viewAfter(id, model, entity, context);
}
private void buildWorkman(WorkmanEntity entity) {
UserEntity userEntity = userService.get(entity.getSystemUserId());
if (!ObjectUtils.isEmpty(userEntity)) {
entity.setLoginName(userEntity.getLoginName());
entity.setLoginPwd(userEntity.getLoginPwd());
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(userEntity.getId());
RoleUserEntity roleUserEntity = roleUserService.selectOne(roleUserQuery);
if (!ObjectUtils.isEmpty(roleUserEntity)) {
entity.setRoleId(roleUserEntity.getRoleId());
}
/**
* 工作人员登录
*/
@PostMapping(value = "doLogin")
@UnAuth
public String doLogin(@RequestBody WorkmanEntity query) {
JSONObject ret = new JSONObject();
try {
WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd());
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "工作人员登录成功!");
ret.put(KEY_RESULT_DATA,workmanEntity);
recordSysLog(request, getCurUser(), "工作人员登录成功!");
return ret.toJSONString();
} catch (Exception e) {
log.error("工作人员登录错误", e);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment