Commit f9dc2bbc authored by 廖旭伟's avatar 廖旭伟

基础平台工作人员登录增加记录最后一次登录时间和ip;门户用户修改密码接口参数提交方式改为requestbody;登录用户菜单默认添加一级菜单

parent 2511fe88
...@@ -2,6 +2,9 @@ package com.mortals.xhx.module.workman.model; ...@@ -2,6 +2,9 @@ package com.mortals.xhx.module.workman.model;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.mortals.xhx.module.workman.model.vo.WorkmanVo; import com.mortals.xhx.module.workman.model.vo.WorkmanVo;
import java.util.Date;
/** /**
* 工作人员实体对象 * 工作人员实体对象
* *
...@@ -105,6 +108,14 @@ public class WorkmanEntity extends WorkmanVo { ...@@ -105,6 +108,14 @@ public class WorkmanEntity extends WorkmanVo {
*/ */
@JSONField(serialize = false) @JSONField(serialize = false)
private String loginPwd; private String loginPwd;
/**
* 最后一次登录时间
*/
private Date lastLoginTime;
/**
* 最后一次登录地址
*/
private String lastLoginAddress;
public WorkmanEntity(){} public WorkmanEntity(){}
...@@ -431,7 +442,34 @@ public class WorkmanEntity extends WorkmanVo { ...@@ -431,7 +442,34 @@ public class WorkmanEntity extends WorkmanVo {
this.loginPwd = loginPwd; this.loginPwd = loginPwd;
} }
/**
* 获取 最后一次登录时间
* @return Date
*/
public Date getLastLoginTime(){
return lastLoginTime;
}
/**
* 设置 最后一次登录时间
* @param lastLoginTime
*/
public void setLastLoginTime(Date lastLoginTime){
this.lastLoginTime = lastLoginTime;
}
/**
* 获取 最后一次登录地址
* @return String
*/
public String getLastLoginAddress(){
return lastLoginAddress;
}
/**
* 设置 最后一次登录地址
* @param lastLoginAddress
*/
public void setLastLoginAddress(String lastLoginAddress){
this.lastLoginAddress = lastLoginAddress;
}
@Override @Override
...@@ -475,6 +513,8 @@ public class WorkmanEntity extends WorkmanVo { ...@@ -475,6 +513,8 @@ public class WorkmanEntity extends WorkmanVo {
sb.append(",online:").append(getOnline()); sb.append(",online:").append(getOnline());
sb.append(",loginName:").append(getLoginName()); sb.append(",loginName:").append(getLoginName());
sb.append(",loginPwd:").append(getLoginPwd()); sb.append(",loginPwd:").append(getLoginPwd());
sb.append(",lastLoginTime:").append(getLastLoginTime());
sb.append(",lastLoginAddress:").append(getLastLoginAddress());
return sb.toString(); return sb.toString();
} }
...@@ -525,5 +565,9 @@ public class WorkmanEntity extends WorkmanVo { ...@@ -525,5 +565,9 @@ public class WorkmanEntity extends WorkmanVo {
this.loginName = ""; this.loginName = "";
this.loginPwd = ""; this.loginPwd = "";
this.lastLoginTime = null;
this.lastLoginAddress = "";
} }
} }
\ No newline at end of file
...@@ -177,6 +177,15 @@ public class WorkmanQuery extends WorkmanEntity { ...@@ -177,6 +177,15 @@ public class WorkmanQuery extends WorkmanEntity {
/** 密码 */ /** 密码 */
private List<String> loginPwdList; private List<String> loginPwdList;
/** 开始 最后一次登录时间 */
private String lastLoginTimeStart;
/** 结束 最后一次登录时间 */
private String lastLoginTimeEnd;
/** 最后一次登录地址 */
private List<String> lastLoginAddressList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<WorkmanQuery> orConditionList; private List<WorkmanQuery> orConditionList;
...@@ -1065,6 +1074,55 @@ public class WorkmanQuery extends WorkmanEntity { ...@@ -1065,6 +1074,55 @@ public class WorkmanQuery extends WorkmanEntity {
public void setLoginPwdList(List<String> loginPwdList){ public void setLoginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList; this.loginPwdList = loginPwdList;
} }
/**
* 获取 开始 最后一次登录时间
* @return lastLoginTimeStart
*/
public String getLastLoginTimeStart(){
return this.lastLoginTimeStart;
}
/**
* 设置 开始 最后一次登录时间
* @param lastLoginTimeStart
*/
public void setLastLoginTimeStart(String lastLoginTimeStart){
this.lastLoginTimeStart = lastLoginTimeStart;
}
/**
* 获取 结束 最后一次登录时间
* @return lastLoginTimeEnd
*/
public String getLastLoginTimeEnd(){
return this.lastLoginTimeEnd;
}
/**
* 设置 结束 最后一次登录时间
* @param lastLoginTimeEnd
*/
public void setLastLoginTimeEnd(String lastLoginTimeEnd){
this.lastLoginTimeEnd = lastLoginTimeEnd;
}
/**
* 获取 最后一次登录地址
* @return lastLoginAddressList
*/
public List<String> getLastLoginAddressList(){
return this.lastLoginAddressList;
}
/**
* 设置 最后一次登录地址
* @param lastLoginAddressList
*/
public void setLastLoginAddressList(List<String> lastLoginAddressList){
this.lastLoginAddressList = lastLoginAddressList;
}
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param id * @param id
......
...@@ -20,10 +20,11 @@ public interface WorkmanService extends ICRUDCacheService<WorkmanEntity,Long> { ...@@ -20,10 +20,11 @@ public interface WorkmanService extends ICRUDCacheService<WorkmanEntity,Long> {
* *
* @param loginName 登录用户名 * @param loginName 登录用户名
* @param password 登录密码 * @param password 登录密码
* @param ip ip地址
* @return * @return
* @throws AppException * @throws AppException
*/ */
WorkmanEntity doLogin(String loginName, String password) throws AppException; WorkmanEntity doLogin(String loginName, String password,String ip) throws AppException;
......
...@@ -88,7 +88,7 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao, ...@@ -88,7 +88,7 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
@Override @Override
public WorkmanEntity doLogin(String loginName, String password) throws AppException { public WorkmanEntity doLogin(String loginName, String password,String loginIp) throws AppException {
WorkmanEntity workmanEntity = this.selectOne(new WorkmanQuery().loginName(loginName)); WorkmanEntity workmanEntity = this.selectOne(new WorkmanQuery().loginName(loginName));
if (workmanEntity == null || !workmanEntity.getLoginName().equals(loginName)) { if (workmanEntity == null || !workmanEntity.getLoginName().equals(loginName)) {
throw new AppException("用户名不存在!"); throw new AppException("用户名不存在!");
...@@ -100,7 +100,11 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao, ...@@ -100,7 +100,11 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
} catch (Exception e) { } catch (Exception e) {
throw new AppException("密码验认出错!", e); throw new AppException("密码验认出错!", e);
} }
WorkmanEntity update = new WorkmanEntity();
update.setId(workmanEntity.getId());
update.setLastLoginAddress(loginIp);
update.setLastLoginTime(new Date());
this.dao.update(update);
return workmanEntity; return workmanEntity;
} }
......
...@@ -63,7 +63,8 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman ...@@ -63,7 +63,8 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
public String doLogin(@RequestBody WorkmanEntity query) { public String doLogin(@RequestBody WorkmanEntity query) {
JSONObject ret = new JSONObject(); JSONObject ret = new JSONObject();
try { try {
WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd()); String ip = super.getRequestIP(request);
WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd(),ip);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "工作人员登录成功!"); ret.put(KEY_RESULT_MSG, "工作人员登录成功!");
ret.put(KEY_RESULT_DATA, workmanEntity); ret.put(KEY_RESULT_DATA, workmanEntity);
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
<resultMap type="WorkmanEntity" id="WorkmanEntity-Map"> <resultMap type="WorkmanEntity" id="WorkmanEntity-Map">
<id property="id" column="id" /> <id property="id" column="id" />
<result property="loginName" column="loginName" />
<result property="loginPwd" column="loginPwd" />
<result property="deptId" column="deptId" /> <result property="deptId" column="deptId" />
<result property="deptName" column="deptName" /> <result property="deptName" column="deptName" />
<result property="windowId" column="windowId" /> <result property="windowId" column="windowId" />
...@@ -30,8 +32,8 @@ ...@@ -30,8 +32,8 @@
<result property="createTime" column="createTime" /> <result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" /> <result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" /> <result property="updateTime" column="updateTime" />
<result property="loginName" column="loginName" /> <result property="lastLoginTime" column="lastLoginTime" />
<result property="loginPwd" column="loginPwd" /> <result property="lastLoginAddress" column="lastLoginAddress" />
</resultMap> </resultMap>
...@@ -42,6 +44,12 @@ ...@@ -42,6 +44,12 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id, a.id,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginName') or colPickMode == 1 and data.containsKey('loginName')))">
a.loginName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd') or colPickMode == 1 and data.containsKey('loginPwd')))">
a.loginPwd,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
a.deptId, a.deptId,
</if> </if>
...@@ -114,29 +122,29 @@ ...@@ -114,29 +122,29 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime, a.updateTime,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginName') or colPickMode == 1 and data.containsKey('loginName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastLoginTime') or colPickMode == 1 and data.containsKey('lastLoginTime')))">
a.loginName, a.lastLoginTime,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd') or colPickMode == 1 and data.containsKey('loginPwd')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastLoginAddress') or colPickMode == 1 and data.containsKey('lastLoginAddress')))">
a.loginPwd, a.lastLoginAddress,
</if> </if>
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="WorkmanEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="WorkmanEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_workman insert into mortals_sys_workman
(deptId,deptName,windowId,windowName,siteId,siteName,name,number,userpost,posttitle,politicalstatus,dangyuan,phone,mobile,starlevel,summary,photoPath,duty,promise,business,online,createTime,createUserId,updateTime,loginName,loginPwd) (loginName,loginPwd,deptId,deptName,windowId,windowName,siteId,siteName,name,number,userpost,posttitle,politicalstatus,dangyuan,phone,mobile,starlevel,summary,photoPath,duty,promise,business,online,createTime,createUserId,updateTime,lastLoginTime,lastLoginAddress)
VALUES VALUES
(#{deptId},#{deptName},#{windowId},#{windowName},#{siteId},#{siteName},#{name},#{number},#{userpost},#{posttitle},#{politicalstatus},#{dangyuan},#{phone},#{mobile},#{starlevel},#{summary},#{photoPath},#{duty},#{promise},#{business},#{online},#{createTime},#{createUserId},#{updateTime},#{loginName},#{loginPwd}) (#{loginName},#{loginPwd},#{deptId},#{deptName},#{windowId},#{windowName},#{siteId},#{siteName},#{name},#{number},#{userpost},#{posttitle},#{politicalstatus},#{dangyuan},#{phone},#{mobile},#{starlevel},#{summary},#{photoPath},#{duty},#{promise},#{business},#{online},#{createTime},#{createUserId},#{updateTime},#{lastLoginTime},#{lastLoginAddress})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_workman insert into mortals_sys_workman
(deptId,deptName,windowId,windowName,siteId,siteName,name,number,userpost,posttitle,politicalstatus,dangyuan,phone,mobile,starlevel,summary,photoPath,duty,promise,business,online,createTime,createUserId,updateTime,loginName,loginPwd) (loginName,loginPwd,deptId,deptName,windowId,windowName,siteId,siteName,name,number,userpost,posttitle,politicalstatus,dangyuan,phone,mobile,starlevel,summary,photoPath,duty,promise,business,online,createTime,createUserId,updateTime,lastLoginTime,lastLoginAddress)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.deptId},#{item.deptName},#{item.windowId},#{item.windowName},#{item.siteId},#{item.siteName},#{item.name},#{item.number},#{item.userpost},#{item.posttitle},#{item.politicalstatus},#{item.dangyuan},#{item.phone},#{item.mobile},#{item.starlevel},#{item.summary},#{item.photoPath},#{item.duty},#{item.promise},#{item.business},#{item.online},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.loginName},#{item.loginPwd}) (#{item.loginName},#{item.loginPwd},#{item.deptId},#{item.deptName},#{item.windowId},#{item.windowName},#{item.siteId},#{item.siteName},#{item.name},#{item.number},#{item.userpost},#{item.posttitle},#{item.politicalstatus},#{item.dangyuan},#{item.phone},#{item.mobile},#{item.starlevel},#{item.summary},#{item.photoPath},#{item.duty},#{item.promise},#{item.business},#{item.online},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.lastLoginTime},#{item.lastLoginAddress})
</foreach> </foreach>
</insert> </insert>
...@@ -146,6 +154,12 @@ ...@@ -146,6 +154,12 @@
update mortals_sys_workman as a update mortals_sys_workman as a
set set
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('loginName')) or (colPickMode==1 and !data.containsKey('loginName'))">
a.loginName=#{data.loginName},
</if>
<if test="(colPickMode==0 and data.containsKey('loginPwd')) or (colPickMode==1 and !data.containsKey('loginPwd'))">
a.loginPwd=#{data.loginPwd},
</if>
<if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))"> <if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
a.deptId=#{data.deptId}, a.deptId=#{data.deptId},
</if> </if>
...@@ -242,11 +256,11 @@ ...@@ -242,11 +256,11 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))"> <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime}, a.updateTime=#{data.updateTime},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('loginName')) or (colPickMode==1 and !data.containsKey('loginName'))"> <if test="(colPickMode==0 and data.containsKey('lastLoginTime')) or (colPickMode==1 and !data.containsKey('lastLoginTime'))">
a.loginName=#{data.loginName}, a.lastLoginTime=#{data.lastLoginTime},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('loginPwd')) or (colPickMode==1 and !data.containsKey('loginPwd'))"> <if test="(colPickMode==0 and data.containsKey('lastLoginAddress')) or (colPickMode==1 and !data.containsKey('lastLoginAddress'))">
a.loginPwd=#{data.loginPwd}, a.lastLoginAddress=#{data.lastLoginAddress},
</if> </if>
</trim> </trim>
<trim suffixOverrides="where" suffix=""> <trim suffixOverrides="where" suffix="">
...@@ -260,6 +274,20 @@ ...@@ -260,6 +274,20 @@
<update id="updateBatch" parameterType="paramDto"> <update id="updateBatch" parameterType="paramDto">
update mortals_sys_workman as a update mortals_sys_workman as a
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<trim prefix="loginName=(case" suffix="ELSE loginName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginName')) or (colPickMode==1 and !item.containsKey('loginName'))">
when a.id=#{item.id} then #{item.loginName}
</if>
</foreach>
</trim>
<trim prefix="loginPwd=(case" suffix="ELSE loginPwd end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd')) or (colPickMode==1 and !item.containsKey('loginPwd'))">
when a.id=#{item.id} then #{item.loginPwd}
</if>
</foreach>
</trim>
<trim prefix="deptId=(case" suffix="ELSE deptId end),"> <trim prefix="deptId=(case" suffix="ELSE deptId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
...@@ -468,17 +496,17 @@ ...@@ -468,17 +496,17 @@
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="loginName=(case" suffix="ELSE loginName end),"> <trim prefix="lastLoginTime=(case" suffix="ELSE lastLoginTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginName')) or (colPickMode==1 and !item.containsKey('loginName'))"> <if test="(colPickMode==0 and item.containsKey('lastLoginTime')) or (colPickMode==1 and !item.containsKey('lastLoginTime'))">
when a.id=#{item.id} then #{item.loginName} when a.id=#{item.id} then #{item.lastLoginTime}
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="loginPwd=(case" suffix="ELSE loginPwd end),"> <trim prefix="lastLoginAddress=(case" suffix="ELSE lastLoginAddress end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd')) or (colPickMode==1 and !item.containsKey('loginPwd'))"> <if test="(colPickMode==0 and item.containsKey('lastLoginAddress')) or (colPickMode==1 and !item.containsKey('lastLoginAddress'))">
when a.id=#{item.id} then #{item.loginPwd} when a.id=#{item.id} then #{item.lastLoginAddress}
</if> </if>
</foreach> </foreach>
</trim> </trim>
...@@ -604,6 +632,36 @@ ...@@ -604,6 +632,36 @@
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd} ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if> </if>
<if test="conditionParamRef.containsKey('loginName')">
<if test="conditionParamRef.loginName != null and conditionParamRef.loginName != ''">
${_conditionType_} a.loginName like #{${_conditionParam_}.loginName}
</if>
<if test="conditionParamRef.loginName == null">
${_conditionType_} a.loginName is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginNameList')">
${_conditionType_} a.loginName in
<foreach collection="conditionParamRef.loginNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwd')">
<if test="conditionParamRef.loginPwd != null and conditionParamRef.loginPwd != ''">
${_conditionType_} a.loginPwd like #{${_conditionParam_}.loginPwd}
</if>
<if test="conditionParamRef.loginPwd == null">
${_conditionType_} a.loginPwd is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginPwdList')">
${_conditionType_} a.loginPwd in
<foreach collection="conditionParamRef.loginPwdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptId')"> <if test="conditionParamRef.containsKey('deptId')">
<if test="conditionParamRef.deptId != null "> <if test="conditionParamRef.deptId != null ">
${_conditionType_} a.deptId = #{${_conditionParam_}.deptId} ${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
...@@ -1013,32 +1071,32 @@ ...@@ -1013,32 +1071,32 @@
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if> </if>
<if test="conditionParamRef.containsKey('loginName')"> <if test="conditionParamRef.containsKey('lastLoginTime')">
<if test="conditionParamRef.loginName != null and conditionParamRef.loginName != ''"> <if test="conditionParamRef.lastLoginTime != null ">
${_conditionType_} a.loginName like #{${_conditionParam_}.loginName} ${_conditionType_} a.lastLoginTime = #{${_conditionParam_}.lastLoginTime}
</if> </if>
<if test="conditionParamRef.loginName == null"> <if test="conditionParamRef.lastLoginTime == null">
${_conditionType_} a.loginName is null ${_conditionType_} a.lastLoginTime is null
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('loginNameList')"> <if test="conditionParamRef.containsKey('lastLoginTimeStart') and conditionParamRef.lastLoginTimeStart != null and conditionParamRef.lastLoginTimeStart!=''">
${_conditionType_} a.loginName in ${_conditionType_} a.lastLoginTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastLoginTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
<foreach collection="conditionParamRef.loginNameList" open="(" close=")" index="index" item="item" separator=","> </if>
#{item} <if test="conditionParamRef.containsKey('lastLoginTimeEnd') and conditionParamRef.lastLoginTimeEnd != null and conditionParamRef.lastLoginTimeEnd!=''">
</foreach> ${_conditionType_} a.lastLoginTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastLoginTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if> </if>
<if test="conditionParamRef.containsKey('loginPwd')"> <if test="conditionParamRef.containsKey('lastLoginAddress')">
<if test="conditionParamRef.loginPwd != null and conditionParamRef.loginPwd != ''"> <if test="conditionParamRef.lastLoginAddress != null and conditionParamRef.lastLoginAddress != ''">
${_conditionType_} a.loginPwd like #{${_conditionParam_}.loginPwd} ${_conditionType_} a.lastLoginAddress like #{${_conditionParam_}.lastLoginAddress}
</if> </if>
<if test="conditionParamRef.loginPwd == null"> <if test="conditionParamRef.lastLoginAddress == null">
${_conditionType_} a.loginPwd is null ${_conditionType_} a.lastLoginAddress is null
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('loginPwdList')"> <if test="conditionParamRef.containsKey('lastLoginAddressList')">
${_conditionType_} a.loginPwd in ${_conditionType_} a.lastLoginAddress in
<foreach collection="conditionParamRef.loginPwdList" open="(" close=")" index="index" item="item" separator=","> <foreach collection="conditionParamRef.lastLoginAddressList" open="(" close=")" index="index" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
...@@ -1060,6 +1118,16 @@ ...@@ -1060,6 +1118,16 @@
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if> <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('loginName')">
a.loginName
<if test='orderCol.loginName != null and "DESC".equalsIgnoreCase(orderCol.loginName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginPwd')">
a.loginPwd
<if test='orderCol.loginPwd != null and "DESC".equalsIgnoreCase(orderCol.loginPwd)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptId')"> <if test="orderCol.containsKey('deptId')">
a.deptId a.deptId
<if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if> <if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if>
...@@ -1180,14 +1248,14 @@ ...@@ -1180,14 +1248,14 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if> <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('loginName')"> <if test="orderCol.containsKey('lastLoginTime')">
a.loginName a.lastLoginTime
<if test='orderCol.loginName != null and "DESC".equalsIgnoreCase(orderCol.loginName)'>DESC</if> <if test='orderCol.lastLoginTime != null and "DESC".equalsIgnoreCase(orderCol.lastLoginTime)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('loginPwd')"> <if test="orderCol.containsKey('lastLoginAddress')">
a.loginPwd a.lastLoginAddress
<if test='orderCol.loginPwd != null and "DESC".equalsIgnoreCase(orderCol.loginPwd)'>DESC</if> <if test='orderCol.lastLoginAddress != null and "DESC".equalsIgnoreCase(orderCol.lastLoginAddress)'>DESC</if>
, ,
</if> </if>
</trim> </trim>
......
...@@ -18,6 +18,7 @@ import com.mortals.xhx.feign.rsp.ApiResp; ...@@ -18,6 +18,7 @@ import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.module.menu.model.MenuQuery; import com.mortals.xhx.module.menu.model.MenuQuery;
import com.mortals.xhx.module.menu.model.vo.MenuNodeVO; import com.mortals.xhx.module.menu.model.vo.MenuNodeVO;
import com.mortals.xhx.module.role.service.RoleModelService; import com.mortals.xhx.module.role.service.RoleModelService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
...@@ -126,9 +127,21 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity ...@@ -126,9 +127,21 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
public List<MenuEntity> findTreeMenuByUser(IUser user) throws AppException { public List<MenuEntity> findTreeMenuByUser(IUser user) throws AppException {
if (!user.isAdmin()) { if (!user.isAdmin()) {
List<MenuEntity> menuList = dao.selectMenuTreeByUserId(user.getId()); List<MenuEntity> menuList = dao.selectMenuTreeByUserId(user.getId());
if(CollectionUtils.isNotEmpty(menuList)) {
//转换为树结构 //转换为树结构
List<MenuEntity> menuTreeList = getChildPerms(menuList, -1); List<MenuEntity> menuTreeList = getChildPerms(menuList, -1);
return menuTreeList; return menuTreeList;
}else {
MenuQuery query = new MenuQuery();
query.setStatus(YesNo.YES.getValue());
query.setParentId(-1l);
List<OrderCol> orderColList = new ArrayList<OrderCol>();
orderColList.add(new OrderCol("parentId"));
orderColList.add(new OrderCol("orderId"));
query.setOrderColList(orderColList);
List<MenuEntity> menuEntityList = this.find(query);
return menuEntityList;
}
} else { } else {
return findAllEnable(); return findAllEnable();
} }
......
...@@ -54,6 +54,9 @@ public class UserVo extends BaseEntityLong { ...@@ -54,6 +54,9 @@ public class UserVo extends BaseEntityLong {
/** 查询条件 */ /** 查询条件 */
private String query; private String query;
private String oldPwd;
private String newPwd;
public static void main(String[] args) { public static void main(String[] args) {
UserQuery userEntity = new UserQuery(); UserQuery userEntity = new UserQuery();
......
...@@ -160,10 +160,10 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -160,10 +160,10 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
@RequestMapping(value = "change/password", method = RequestMethod.POST) @RequestMapping(value = "change/password", method = RequestMethod.POST)
public String changePassword(@RequestParam String oldPwd, @RequestParam String newPwd) { public String changePassword(@RequestBody UserEntity entity) {
JSONObject ret = new JSONObject(); JSONObject ret = new JSONObject();
try { try {
service.updateUserPwd(super.getCurUser().getLoginName(), oldPwd, newPwd); service.updateUserPwd(super.getCurUser().getLoginName(), entity.getOldPwd(), entity.getNewPwd());
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "密码修改成功!"); ret.put(KEY_RESULT_MSG, "密码修改成功!");
} catch (Exception e) { } catch (Exception e) {
......
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