#20230510 欣影管理平台装置信息查询代码

master
18616268358 2 years ago
parent 3667796f27
commit e6d0f35b56

@ -5,6 +5,9 @@ import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.bean.SysUser; import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.model.SysUserModel;
import com.shxy.xymanager_common.vo.PageVo;
import com.shxy.xymanager_common.vo.SysUserUpdateVo;
import com.shxy.xymanager_common.vo.SysUserVo; import com.shxy.xymanager_common.vo.SysUserVo;
import com.shxy.xymanager_service.service.LoginService; import com.shxy.xymanager_service.service.LoginService;
import com.shxy.xymanager_service.service.SysUserService; import com.shxy.xymanager_service.service.SysUserService;
@ -38,7 +41,7 @@ public class SysLoginController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/login") @RequestMapping("/login")
public ResponseReult<String> login(@RequestBody SysUser sysUser) throws Exception { public ResponseReult<String> login(@RequestBody SysUser sysUser) throws Exception {
ServiceBody<String> serviceBody = loginService.remoteLogin(sysUser.getUserName(), sysUser.getPassword()); ServiceBody<String> serviceBody = loginService.remoteLogin(sysUser);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) { if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData()); return ResponseReult.success(serviceBody.getData());
} else { } else {
@ -53,6 +56,19 @@ public class SysLoginController {
* @return * @return
*/ */
@ApiOperation(value = "修改用户", notes = "修改用户", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateUser")
public ResponseReult<String> updateUser(@RequestBody @Validated SysUserUpdateVo vo) {
ServiceBody<String> serviceBody = sysUserService.updateUser(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "新增用户", notes = "新增用户", httpMethod = "POST") @ApiOperation(value = "新增用户", notes = "新增用户", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/addUser") @RequestMapping("/addUser")
@ -65,4 +81,42 @@ public class SysLoginController {
} }
} }
/**
*
*
* @return
*/
@ApiOperation(value = "查询用户列表", notes = "查询用户列表", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/userList")
public ResponseReult<SysUserModel> userList(@RequestBody @Validated PageVo vo) {
ServiceBody<SysUserModel> serviceBody = sysUserService.selectUserList(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
/**
*
*
* @return
*/
@ApiOperation(value = "删除用户", notes = "删除用户", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/deleteUser")
public ResponseReult<String> deleteUser(@RequestParam("uid") String uid) {
ServiceBody<String> serviceBody = sysUserService.deleteUserById(uid);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
} }

@ -175,6 +175,8 @@ photo:
address: http://47.96.238.157/photos/ address: http://47.96.238.157/photos/
video: video:
address: http://47.96.238.157/videos/ address: http://47.96.238.157/videos/
session:
expire_time: 3600
rsa: rsa:
public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCViq0L+1XCTKOkt9nmy9aQbMRNNJNBOtPYRlCq/bRuwlYaq/I+XqSDkIF8s4JJSy3/Vgjw0fp8d4O+5KBS4Om9Ela60I2Vv/q8LjCNFNYbRE6xI7yrlyPukodmC/s1VgODDRHn3vVyKcK9nyF7xZsXixnlvltAky888CJkLpiGjQIDAQAB public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCViq0L+1XCTKOkt9nmy9aQbMRNNJNBOtPYRlCq/bRuwlYaq/I+XqSDkIF8s4JJSy3/Vgjw0fp8d4O+5KBS4Om9Ela60I2Vv/q8LjCNFNYbRE6xI7yrlyPukodmC/s1VgODDRHn3vVyKcK9nyF7xZsXixnlvltAky888CJkLpiGjQIDAQAB
private_key: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJWKrQv7VcJMo6S32ebL1pBsxE00k0E609hGUKr9tG7CVhqr8j5epIOQgXyzgklLLf9WCPDR+nx3g77koFLg6b0SVrrQjZW/+rwuMI0U1htETrEjvKuXI+6Sh2YL+zVWA4MNEefe9XIpwr2fIXvFmxeLGeW+W0CTLzzwImQumIaNAgMBAAECgYAzOn2LlD9Nv5lzzTPNl9jaQxiAZllnyDJYbcYmvaD5LIP4wRzMdvmexHtHb+tbFnEcfqmzbguEZiDw3Tt7COepQWvNzlM+/HbFtkXzSh6WEu2TgjZwudcCDHDyjDzUNgcWnBIw8/+Sy4COOm4p+UnprYK4sdriMZyz8K5UC8CxFQJBAODTt0lg/HiZKaOX7PMmsiRisd5oAslyDHCt66oPG29KTE1j4fwKDzGJlrOo1f4Q078IDYMO1I/Y3uP8Es3FT1MCQQCqRrD+lO3YCZOUGTHm2WGmbljIoeDpnIn2TZFyqDGKXs6EAx7SXkgarY2OC5O2aifMhXElPUGChfSgPmRUFHafAkEAxFtkWuwf1NxAJ6cKxZpoP6sLGenRdUrsXoUnrBEhruM/HOA9gLjwaB14x1SQASOFK/TGiE4ti6ynjoqbiafoDQJBAI0l6FZAsiBhX9pmQD1yeUXzNtmphr1gK+TmS+lVjyt6h4pa49PSn8atkyfqZNnTiYY6H56U9pbx3+Rtk9E23VUCQEZ9/JHUaGc77s3ibpcKFVemlb0i/Uvj2V45aoNfY34iex4biAUsRq/FJNiqBk+xQWkJ4QY8nKVE45GlaCfZ8/c= private_key: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJWKrQv7VcJMo6S32ebL1pBsxE00k0E609hGUKr9tG7CVhqr8j5epIOQgXyzgklLLf9WCPDR+nx3g77koFLg6b0SVrrQjZW/+rwuMI0U1htETrEjvKuXI+6Sh2YL+zVWA4MNEefe9XIpwr2fIXvFmxeLGeW+W0CTLzzwImQumIaNAgMBAAECgYAzOn2LlD9Nv5lzzTPNl9jaQxiAZllnyDJYbcYmvaD5LIP4wRzMdvmexHtHb+tbFnEcfqmzbguEZiDw3Tt7COepQWvNzlM+/HbFtkXzSh6WEu2TgjZwudcCDHDyjDzUNgcWnBIw8/+Sy4COOm4p+UnprYK4sdriMZyz8K5UC8CxFQJBAODTt0lg/HiZKaOX7PMmsiRisd5oAslyDHCt66oPG29KTE1j4fwKDzGJlrOo1f4Q078IDYMO1I/Y3uP8Es3FT1MCQQCqRrD+lO3YCZOUGTHm2WGmbljIoeDpnIn2TZFyqDGKXs6EAx7SXkgarY2OC5O2aifMhXElPUGChfSgPmRUFHafAkEAxFtkWuwf1NxAJ6cKxZpoP6sLGenRdUrsXoUnrBEhruM/HOA9gLjwaB14x1SQASOFK/TGiE4ti6ynjoqbiafoDQJBAI0l6FZAsiBhX9pmQD1yeUXzNtmphr1gK+TmS+lVjyt6h4pa49PSn8atkyfqZNnTiYY6H56U9pbx3+Rtk9E23VUCQEZ9/JHUaGc77s3ibpcKFVemlb0i/Uvj2V45aoNfY34iex4biAUsRq/FJNiqBk+xQWkJ4QY8nKVE45GlaCfZ8/c=

@ -1,6 +1,7 @@
package com.shxy.xymanager_common.bean; package com.shxy.xymanager_common.bean;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -20,7 +21,7 @@ public class SysUser {
* ID * ID
*/ */
@ApiModelProperty(value="用户ID", name="user_id") @ApiModelProperty(value="用户ID", name="user_id")
private Long userId; private Integer userId;
/** /**
* *
@ -38,7 +39,10 @@ public class SysUser {
* *
*/ */
@ApiModelProperty(value="用户角色", name="role") @ApiModelProperty(value="用户角色", name="role")
private String role; private Integer role;
@ApiModelProperty(value="创建时间", name="createTime")
private Date createTime;
/** /**
* *
@ -47,7 +51,7 @@ public class SysUser {
private String password; private String password;
/** /**
* 0 1 * 0 1
*/ */
private String status; private String status;
@ -57,9 +61,6 @@ public class SysUser {
public SysUser() { public SysUser() {
} }
public SysUser(Long userId) {
this.userId = userId;
}

@ -18,7 +18,7 @@ public class SysUser {
* ID * ID
*/ */
@ApiModelProperty(value="用户ID", name="user_id") @ApiModelProperty(value="用户ID", name="user_id")
private Long userId; private Integer userId;
/** /**
* *

@ -13,7 +13,7 @@ public class UserSession implements Serializable {
private String userName; private String userName;
private String role; private Integer role;
private BigInteger expireTime; private BigInteger expireTime;

@ -0,0 +1,52 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@ApiModel(value = "用户登录信息对象", description = "用户登录信息对象")
public class SysUserModel implements Serializable {
@ApiModelProperty(value = "总记录数", example = "120")
private long total;
@ApiModelProperty(value = "总页数", example = "120")
private int totalpage;
@ApiModelProperty(value = "当前页", example = "1")
private int currentpage;
@ApiModelProperty(value = "每页记录数", example = "1")
private int pagesize;
@ApiModelProperty(value = "用户对象", example = "[]")
private List<SysUserBean> list;
@Data
public static class SysUserBean {
@ApiModelProperty(value = "编号", example = "120")
private Integer userId;
@ApiModelProperty(value = "用户名", example = "120")
private String userName;
@ApiModelProperty(value = "role", example = "120")
private Integer role;
@ApiModelProperty(value = "nickName", example = "120")
private String nickName;
@ApiModelProperty(value = "创建时间", example = "120")
private BigInteger createTime;
}
private static final long serialVersionUID = 1L;
}

@ -185,6 +185,16 @@ public class MyDateUtils extends DateUtil {
return l; return l;
} }
/**
* 1310
*
* @return
*/
public static BigInteger TimeMillSecondToSecond(DateTime dateTime) {
BigInteger l = BigInteger.valueOf(dateTime.getTime());
return l;
}
/** /**
* 1013 * 1013
* *

@ -0,0 +1,27 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel(value = "修改用户对象", description = "用户对象描述")
public class SysUserUpdateVo {
@NotNull(message = "用户ID不能缺少")
@ApiModelProperty(value = "用户Id", example = "123455")
private Integer userId;
@ApiModelProperty(value = "用户名", example = "123455")
private String userName;
@ApiModelProperty(value = "角色", example = "123455")
private Integer role;
@ApiModelProperty(value = "密码", example = "123455")
private String password;
}

@ -14,9 +14,9 @@ public class SysUserVo {
@ApiModelProperty(value = "用户名", example = "123455") @ApiModelProperty(value = "用户名", example = "123455")
private String userName; private String userName;
@NotNull(message = "昵称") @NotNull(message = "角色")
@ApiModelProperty(value = "昵称", example = "123455") @ApiModelProperty(value = "角色", example = "123455")
private String nickName; private Integer role;
@NotNull(message = "密码") @NotNull(message = "密码")
@ApiModelProperty(value = "密码", example = "123455") @ApiModelProperty(value = "密码", example = "123455")

@ -2,9 +2,12 @@ package com.shxy.xymanager_dao.dao;
import com.shxy.xymanager_common.bean.SysUser; import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.entity.UserSession; import com.shxy.xymanager_common.entity.UserSession;
import com.shxy.xymanager_common.vo.PageVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @ClassNameSysUserMapper * @ClassNameSysUserMapper
* @Description Mapper . * @Description Mapper .
@ -36,7 +39,7 @@ public interface SysUserMapperDao {
int addUser(SysUser user); int addUser(SysUser user);
Boolean updateById(SysUser user); Integer updateById(SysUser user);
@ -86,9 +89,14 @@ public interface SysUserMapperDao {
public int deleteUserByIds(Long[] userIds); public int deleteUserByIds(Long[] userIds);
int deleteUserById(String userId);
UserSession selectUserBySessionId(String sessionId); UserSession selectUserBySessionId(String sessionId);
void insertUserSession(UserSession session); void insertUserSession(UserSession session);
int updateUserSession(UserSession session); int updateUserSession(UserSession session);
List<SysUser> selectUserInfoList(@Param("status") Integer status);
} }

@ -6,6 +6,7 @@
<result column="name" property="userName" /> <result column="name" property="userName" />
<result column="password" property="password" /> <result column="password" property="password" />
<result column="status" property="status" /> <result column="status" property="status" />
<result column="role" property="role" />
</resultMap> </resultMap>
@ -32,7 +33,7 @@
</if> </if>
</select> </select>
<select id="checkUserNameUnique" parameterType="String" resultType="int"> <select id="checkUserNameUnique" parameterType="String" resultType="java.lang.Integer">
select count(1) from sys_user where user_name = #{userName} select count(1) from sys_user where user_name = #{userName}
</select> </select>
@ -52,8 +53,8 @@
</update> </update>
<insert id="addUser" parameterType="com.shxy.xymanager_common.bean.SysUser"> <insert id="addUser" parameterType="com.shxy.xymanager_common.bean.SysUser">
insert into sys_user(user_name,nick_name,password) insert into sys_user(user_name,nick_name,password,role,create_time)
values(#{userName},#{nickName},#{password}) values(#{userName},#{userName},#{password},#{role},#{createTime})
</insert> </insert>
<select id="selectUserBySessionId" resultType="com.shxy.xymanager_common.entity.UserSession"> <select id="selectUserBySessionId" resultType="com.shxy.xymanager_common.entity.UserSession">
@ -70,16 +71,56 @@
update `sys_user_session` update `sys_user_session`
<set> <set>
<if test="expireTime!= null"> <if test="expireTime!= null">
expireTime = #{expireTime}, expire_time = #{expireTime},
</if> </if>
</set> </set>
where session_id = #{sessionId} where session_id = #{sessionId}
</update> </update>
<update id="updateById" parameterType="com.shxy.xymanager_common.bean.SysUser">
update `sys_user`
<set>
<if test="userName!= null">
user_name = #{userName},
</if>
<if test="nickName!= null">
nick_name = #{nickName},
</if>
<if test="role!= null">
role = #{role},
</if>
<if test="status!= null">
status = #{status},
</if>
</set>
where uid = #{userId}
</update>
<update id="deleteUserById" parameterType="java.lang.String">
update `sys_user`
set status = 0
where uid = #{userId}
</update>
<insert id="insertUserSession" parameterType="com.shxy.xymanager_common.entity.UserSession"> <insert id="insertUserSession" parameterType="com.shxy.xymanager_common.entity.UserSession">
insert into sys_user_session (session_id, user_name,role,expire_time) insert into sys_user_session (session_id, user_name,role,expire_time)
values (#{sessionId,jdbcType=VARCHAR}, #{userName,jdbcType=VARCHAR}, #{ROLE,jdbcType=VARCHAR}, #{expireTime,jdbcType=INTEGER}) values (#{sessionId,jdbcType=VARCHAR}, #{userName,jdbcType=VARCHAR}, #{role,jdbcType=VARCHAR}, #{expireTime,jdbcType=INTEGER})
</insert> </insert>
<select id="selectUserInfoList" resultType="com.shxy.xymanager_common.bean.SysUser">
select
uid as userId,
user_name as userName,
nick_name as nickName,
create_time as createTime,
role
from sys_user
WHERE status = #{status}
order by create_time desc
</select>
</mapper> </mapper>

@ -77,5 +77,9 @@
<groupId>com.shxy</groupId> <groupId>com.shxy</groupId>
<artifactId>xymanager_common</artifactId> <artifactId>xymanager_common</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.shxy</groupId>
<artifactId>xymanager_service</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

@ -19,9 +19,10 @@ public class CustomSecurityConfig implements WebMvcConfigurer {
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(this.jwtInterceptor).addPathPatterns("/addUser") registry.addInterceptor(this.jwtInterceptor)
.excludePathPatterns("/*")
.excludePathPatterns("/login") .excludePathPatterns("/login")
.excludePathPatterns("/api/addUser") .excludePathPatterns("/userList")
.excludePathPatterns("/swagger-ui.html") .excludePathPatterns("/swagger-ui.html")
.excludePathPatterns("/doc.html") .excludePathPatterns("/doc.html")
.excludePathPatterns("/swagger-resources/**") .excludePathPatterns("/swagger-resources/**")

@ -1,11 +1,17 @@
package com.shxy.xymanager_framework.interaction; package com.shxy.xymanager_framework.interaction;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.shxy.xymanager_common.annotation.JwtIgnore; import com.shxy.xymanager_common.annotation.JwtIgnore;
import com.shxy.xymanager_common.entity.UserSession;
import com.shxy.xymanager_common.enums.HttpMethod; import com.shxy.xymanager_common.enums.HttpMethod;
import com.shxy.xymanager_common.exception.Asserts; import com.shxy.xymanager_common.exception.Asserts;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_service.service.SysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
@ -13,6 +19,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigInteger;
/** /**
* @ClassNameJwtAuthenticationTokenFilter * @ClassNameJwtAuthenticationTokenFilter
@ -24,6 +31,10 @@ import javax.servlet.http.HttpServletResponse;
@Component @Component
@Slf4j @Slf4j
public class JwtInterceptor implements HandlerInterceptor { public class JwtInterceptor implements HandlerInterceptor {
@Autowired
SysUserService sysUserService;
@Value("${session.expire_time}")
public BigInteger time;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@ -40,10 +51,24 @@ public class JwtInterceptor implements HandlerInterceptor {
return true; return true;
} }
// 获取请求头信息authorization信息 // 获取请求头信息authorization信息
final String token = request.getHeader("token"); final String sessionId = request.getHeader("sessionId");
if (StrUtil.isBlank(token)) { if (StrUtil.isBlank(sessionId)) {
log.info("token为空登录过期"); log.info("sessionId为空登录过期");
Asserts.fail(401, "登录过期"); Asserts.fail(401, "登录过期");
}else{
UserSession user = sysUserService.selectUserById(sessionId);
if(user!=null) {
BigInteger expireTime = user.getExpireTime();
BigInteger currentTime = MyDateUtils.TimeMillSecond2Second(new DateTime());
if (currentTime.subtract(expireTime).compareTo(time) > 0) {
user.setExpireTime(currentTime.add(time));
sysUserService.updateUserSession(user);
}
}else{
log.info("sessionId为空登录过期");
Asserts.fail(401, "登录过期");
}
} }
return true; return true;
} }

@ -5,6 +5,7 @@ import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.SysUser; import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.config.CustomRsaProperties; import com.shxy.xymanager_common.config.CustomRsaProperties;
import com.shxy.xymanager_common.constant.HttpStatusCode; import com.shxy.xymanager_common.constant.HttpStatusCode;
import com.shxy.xymanager_common.constant.UuidUtils;
import com.shxy.xymanager_common.entity.UserSession; import com.shxy.xymanager_common.entity.UserSession;
import com.shxy.xymanager_common.exception.Asserts; import com.shxy.xymanager_common.exception.Asserts;
import com.shxy.xymanager_common.exception.UserPasswordNotMatchException; import com.shxy.xymanager_common.exception.UserPasswordNotMatchException;
@ -22,6 +23,7 @@ import org.springframework.util.DigestUtils;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.UUID;
/** /**
* *
@ -64,12 +66,12 @@ public class LoginServiceImpl implements LoginService {
/** /**
* *
* @param username * @param sysUser
* @param password
* @return * @return
*/ */
public ServiceBody<String> remoteLogin(String username, String password) throws Exception { public ServiceBody<String> remoteLogin(SysUser sysUser) throws Exception {
UserSession user = getLoginUser(username, password); UserSession user = getLoginUser(sysUser);
user.setSessionId(UuidUtils.getUUID());
sysUserMapperDao.insertUserSession(user); sysUserMapperDao.insertUserSession(user);
// 生成token // 生成token
return Asserts.success(user.getSessionId()); return Asserts.success(user.getSessionId());
@ -78,13 +80,12 @@ public class LoginServiceImpl implements LoginService {
/** /**
* *
* *
* @param username * @param sysUser
* @param password
* @return * @return
*/ */
public UserSession getLoginUser(String username, String password) throws Exception { public UserSession getLoginUser(SysUser sysUser) throws Exception {
// 用户验证 // 用户验证
SysUser account = sysUserService.findByUserAccount(username); SysUser account = sysUserService.findByUserAccount(sysUser.getUserName());
// 判断用户是否存在 // 判断用户是否存在
if (StringUtils.isNull(account)) { if (StringUtils.isNull(account)) {
throw new UserPasswordNotMatchException("用户不存在", HttpStatusCode.ERROR); throw new UserPasswordNotMatchException("用户不存在", HttpStatusCode.ERROR);
@ -94,12 +95,12 @@ public class LoginServiceImpl implements LoginService {
// 密码解密 // 密码解密
String pwd = RsaUtils.decryptByPrivateKey( CustomRsaProperties.privateKey, account.getPassword() ); String pwd = RsaUtils.decryptByPrivateKey( CustomRsaProperties.privateKey, account.getPassword() );
// 密码对比 // 密码对比
if (!password.equals(pwd)) { if (!sysUser.getPassword().equals(pwd)) {
throw new UserPasswordNotMatchException("密码错误", HttpStatusCode.ERROR); throw new UserPasswordNotMatchException("密码错误", HttpStatusCode.ERROR);
} }
UserSession user = new UserSession(); UserSession user = new UserSession();
// loginUser.setPermissions(permissions); // loginUser.setPermissions(permissions);
user.setUserName(username); user.setUserName(sysUser.getUserName());
user.setRole(account.getRole()); user.setRole(account.getRole());
BigInteger date = MyDateUtils.TimeMillSecond2Second(new DateTime()); BigInteger date = MyDateUtils.TimeMillSecond2Second(new DateTime());
user.setExpireTime(date); user.setExpireTime(date);

@ -2,25 +2,43 @@ package com.shxy.xymanager_service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.SysUser; import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.config.CustomRsaProperties; import com.shxy.xymanager_common.config.CustomRsaProperties;
import com.shxy.xymanager_common.dto.TerminalsAndLineAndChannelDto;
import com.shxy.xymanager_common.entity.UserSession; import com.shxy.xymanager_common.entity.UserSession;
import com.shxy.xymanager_common.enums.CommonStatus;
import com.shxy.xymanager_common.exception.Asserts; import com.shxy.xymanager_common.exception.Asserts;
import com.shxy.xymanager_common.model.SysUserModel;
import com.shxy.xymanager_common.model.TerminalListModel;
import com.shxy.xymanager_common.page.PageUtils;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_common.util.RsaUtils; import com.shxy.xymanager_common.util.RsaUtils;
import com.shxy.xymanager_common.util.StringUtils;
import com.shxy.xymanager_common.vo.PageVo;
import com.shxy.xymanager_common.vo.SysUserUpdateVo;
import com.shxy.xymanager_common.vo.SysUserVo; import com.shxy.xymanager_common.vo.SysUserVo;
import com.shxy.xymanager_dao.dao.SysUserMapperDao; import com.shxy.xymanager_dao.dao.SysUserMapperDao;
import com.shxy.xymanager_service.service.SysUserService; import com.shxy.xymanager_service.service.SysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.HashMap; import java.math.BigInteger;
import java.util.Map; import java.util.*;
/** /**
@ -86,7 +104,8 @@ public class SysUserServiceImpl implements SysUserService {
// } // }
sysUser.setUserName(userName); sysUser.setUserName(userName);
sysUser.setNickName(nickName); sysUser.setNickName(nickName);
sysUser.setCreateTime(new DateTime());
sysUser.setRole(vo.getRole());
try { try {
sysUser.setPassword(RsaUtils.encryptByPublicKey( CustomRsaProperties.publicKey,vo.getPassword())); sysUser.setPassword(RsaUtils.encryptByPublicKey( CustomRsaProperties.publicKey,vo.getPassword()));
} catch (Exception e) { } catch (Exception e) {
@ -103,26 +122,38 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public Boolean updateUser(SysUser user) { public ServiceBody<String> updateUser(SysUserUpdateVo vo) {
return sysUserMapperDao.updateById(user); SysUser user = new SysUser();
BeanUtils.copyProperties(vo,user);
try {
if(StringUtils.isNotBlank( user.getPassword())) {
user.setPassword(RsaUtils.encryptByPublicKey(CustomRsaProperties.publicKey, vo.getPassword()));
}
} catch (Exception e) {
log.error("修改密码异常:{}",e.getMessage());
}
int result = sysUserMapperDao.updateById(user);
if(result>0){
return Asserts.success("修改成功");
}
return Asserts.error("修改失败");
} }
@Override @Override
public Boolean updateUserStatus(SysUser user) { public Boolean updateUserStatus(SysUser user) {
return sysUserMapperDao.updateById(user); return null;
} }
@Override @Override
public Boolean updateUserProfile(SysUser user) { public Boolean updateUserProfile(SysUser user) {
return sysUserMapperDao.updateById(user); return null;
} }
@Override @Override
public Boolean resetPwd(SysUser user) { public Boolean resetPwd(SysUser user) {
return sysUserMapperDao.updateById(user); return null;
} }
@Override @Override
@ -132,18 +163,16 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public int deleteUserById(Long userId) { public ServiceBody<String> deleteUserById(String userId) {
return 0;
}
@Override int result = sysUserMapperDao.deleteUserById(userId);
public int deleteUserByIds(Long[] userIds) { if(result>0){
for (Long userId : userIds) { return Asserts.success("删除成功");
checkUserAllowed(new SysUser(userId));
} }
return sysUserMapperDao.deleteUserByIds(userIds); return Asserts.error("失败");
} }
@Override @Override
public UserSession selectUserById(String sessionId) { public UserSession selectUserById(String sessionId) {
UserSession session = sysUserMapperDao.selectUserBySessionId(sessionId); UserSession session = sysUserMapperDao.selectUserBySessionId(sessionId);
@ -156,6 +185,40 @@ public class SysUserServiceImpl implements SysUserService {
return result; return result;
} }
@Override
public ServiceBody<SysUserModel> selectUserList(@RequestBody @Validated PageVo vo) {
SysUserModel model = new SysUserModel();
int pageindex = vo.getPageindex();
int pagesize = vo.getPagesize();
PageUtils.SetPage(pageindex, pagesize);
List<SysUser> list = sysUserMapperDao.selectUserInfoList(CommonStatus.EFFECTIVE.value());
boolean empty = CollectionUtil.isEmpty(list);
if (empty) {
model.setList(new ArrayList<>());
} else {
List<SysUserModel.SysUserBean> beans = Lists.newArrayList();
list.forEach(var->{
SysUserModel.SysUserBean bean = new SysUserModel.SysUserBean();
BeanUtils.copyProperties(var,bean);
bean.setCreateTime(MyDateUtils.TimeMillSecondToSecond(MyDateUtils.beginOfDay(var.getCreateTime())));
beans.add(bean);
});
model.setList(beans);
}
PageInfo pageData = PageUtils.getPageData(list);
int currentpage = pageData.getPageNum();
model.setCurrentpage(currentpage);
long total = pageData.getTotal();
model.setTotal(total);
int pageSize = pageData.getPageSize();
model.setPagesize(pageSize);
int pages = pageData.getPages();
model.setTotalpage(pages);
return Asserts.success(model);
}
public boolean addUserRemote(Map<String, Object> map) { public boolean addUserRemote(Map<String, Object> map) {
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE)); httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE));

@ -8,9 +8,7 @@ import com.shxy.xymanager_common.exception.Asserts;
import com.shxy.xymanager_common.model.ResolutionModel; import com.shxy.xymanager_common.model.ResolutionModel;
import com.shxy.xymanager_common.util.ProcessExecUtils; import com.shxy.xymanager_common.util.ProcessExecUtils;
import com.shxy.xymanager_common.vo.TerminalIdVo; import com.shxy.xymanager_common.vo.TerminalIdVo;
import com.shxy.xymanager_common.vo.TerminalReqPhotoTimeVo;
import com.shxy.xymanager_dao.dao.TerminalResolutionDao; import com.shxy.xymanager_dao.dao.TerminalResolutionDao;
import com.shxy.xymanager_dao.dao.TowerDao;
import com.shxy.xymanager_service.service.TermSetService; import com.shxy.xymanager_service.service.TermSetService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -34,8 +32,8 @@ public class TermSetServiceImpl implements TermSetService {
@Override @Override
public ServiceBody<Integer> alarmMark(TerminalIdVo vo) { public ServiceBody<Integer> alarmMark(TerminalIdVo vo) {
// String cmd =Constants.CMD+"imgparams --cmdid="+vo.getCmdId()+ "\t" + "--reqid="+ Constants.REQUEST_ID+ "\t"+ "--clientid=10--flag=0 --rf=7"; String cmd =Constants.CMD+"imgparams --cmdid="+vo.getCmdId()+ "\t" + "--reqid="+ Constants.REQUEST_ID+ "\t"+ "--clientid=10--flag=0 --rf=7";
// ProcessExecUtils.exec(cmd); ProcessExecUtils.exec(cmd);
return Asserts.success(1); return Asserts.success(1);
} }

@ -2,6 +2,7 @@ package com.shxy.xymanager_service.service;
import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.entity.UserSession; import com.shxy.xymanager_common.entity.UserSession;
/** /**
@ -16,9 +17,9 @@ public interface LoginService {
ServiceBody<String> login(String username, String password) throws Exception; ServiceBody<String> login(String username, String password) throws Exception;
ServiceBody<String> remoteLogin(String username, String password) throws Exception; ServiceBody<String> remoteLogin(SysUser sysUser) throws Exception;
UserSession getLoginUser(String username, String password) throws Exception; UserSession getLoginUser(SysUser sysUser) throws Exception;

@ -4,7 +4,12 @@ package com.shxy.xymanager_service.service;
import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.SysUser; import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.entity.UserSession; import com.shxy.xymanager_common.entity.UserSession;
import com.shxy.xymanager_common.model.SysUserModel;
import com.shxy.xymanager_common.vo.PageVo;
import com.shxy.xymanager_common.vo.SysUserUpdateVo;
import com.shxy.xymanager_common.vo.SysUserVo; import com.shxy.xymanager_common.vo.SysUserVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
@ -65,10 +70,10 @@ public interface SysUserService {
/** /**
* *
* *
* @param user * @param vo
* @return * @return
*/ */
Boolean updateUser(SysUser user); ServiceBody<String> updateUser(SysUserUpdateVo vo);
/** /**
* *
@ -110,19 +115,13 @@ public interface SysUserService {
* @param userId ID * @param userId ID
* @return * @return
*/ */
int deleteUserById(Long userId); ServiceBody<String> deleteUserById(@Param("userId") String userId);
/**
*
*
* @param userIds ID
* @return
*/
int deleteUserByIds(Long[] userIds);
UserSession selectUserById(String sessionId); UserSession selectUserById(String sessionId);
int updateUserSession(UserSession user); int updateUserSession(UserSession user);
ServiceBody<SysUserModel> selectUserList(PageVo vo);
} }

Loading…
Cancel
Save