liuguijing 2 years ago
commit 790066f8ab

@ -5,6 +5,10 @@ import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.bean.SysUser;
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_service.service.LoginService;
import com.shxy.xymanager_service.service.SysUserService;
@ -37,8 +41,8 @@ public class SysLoginController {
@ApiOperation(value = "登录", notes = "登录", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/login")
public ResponseReult<String> login(@RequestBody SysUser sysUser) throws Exception {
ServiceBody<String> serviceBody = loginService.remoteLogin(sysUser.getUserName(), sysUser.getPassword());
public ResponseReult<UserSession> login(@RequestBody SysUser sysUser) {
ServiceBody<UserSession> serviceBody = loginService.remoteLogin(sysUser);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
@ -53,6 +57,19 @@ public class SysLoginController {
* @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")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/addUser")
@ -65,4 +82,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());
}
}
}

@ -33,8 +33,8 @@ public class TermSetController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/alarmMark")
@Log(title = "声光报警", type = "查询")
public ResponseReult<Integer> alarmMark(@RequestBody @Validated TerminalIdVo vo) {
ServiceBody<Integer> serviceBody = termSetService.alarmMark(vo);
public ResponseReult<String> alarmMark(@RequestBody @Validated VoiceCtrlVo vo) {
ServiceBody<String> serviceBody = termSetService.alarmMark(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {

@ -39,6 +39,19 @@ public class TerminalController extends BaseController {
}
}
@ApiOperation(value = "绘制坐标保存", notes = "绘制坐标保存接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateCoordinate")
@Log(title = "绘制坐标保存", type = "查询")
public ResponseReult<String> Coordinate(@RequestBody @Validated PhotoMarkVo vo) {
ServiceBody<String> serviceBody = terminalService.updateCoordinate(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "添加设备", notes = "添加设备接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/addTerminal")

@ -175,6 +175,8 @@ photo:
address: http://47.96.238.157/photos/
video:
address: http://47.96.238.157/videos/
session:
expire_time: 3600
rsa:
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=

@ -1,6 +1,7 @@
package com.shxy.xymanager_common.bean;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -20,7 +21,7 @@ public class SysUser {
* ID
*/
@ApiModelProperty(value="用户ID", name="user_id")
private Long userId;
private Integer userId;
/**
*
@ -38,7 +39,10 @@ public class SysUser {
*
*/
@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;
/**
* 0 1
* 0 1
*/
private String status;
@ -57,9 +61,6 @@ public class SysUser {
public SysUser() {
}
public SysUser(Long userId) {
this.userId = userId;
}

@ -0,0 +1,22 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
/**
* 线
*/
@Data
public class TermChannelCoordinateDto {
private Integer pathId;
private Integer x1;
private Integer x2;
private Integer y2;
private Integer y1;
}

@ -11,6 +11,8 @@ public class TerminalChannelsDto implements Serializable {
private String name;
private String path;
private static final long serialVersionUID = 1L;
}

@ -42,6 +42,18 @@ public class TerminalsAndLineAndChannelDto implements Serializable {
private Double longitude;
private Integer markId;
private Integer width;
private Integer height;
private Integer color;
private Short boderWidth;
private List<TermChannelCoordinateDto> lineList;
private List<TerminalChannelsDto> list;
private static final long serialVersionUID = 1L;

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

@ -7,13 +7,13 @@ import java.math.BigInteger;
@Data
public class UserSession implements Serializable {
private BigInteger id;
private Integer id;
private String sessionId;
private String userName;
private String role;
private Integer role;
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;
}

@ -82,9 +82,24 @@ public class TerminalListModel implements Serializable {
@ApiModelProperty(value = "经度", example = "213")
private Double longitude;
@ApiModelProperty(value = "参考图片宽", example = "213")
private Integer width;
@ApiModelProperty(value = "参考图片高", example = "213")
private Integer height;
@ApiModelProperty(value = "线条颜色", example = "213")
private Integer color;
@ApiModelProperty(value = "线条宽度", example = "213")
private Short boderWidth;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<ChannelBeans> list;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<CoordinateBeans> lineList;
}
@Data
@ -93,5 +108,19 @@ public class TerminalListModel implements Serializable {
private Integer id;
@ApiModelProperty(value = "通道名称", example = "213")
private String name;
@ApiModelProperty(value = "图片地址", example = "213")
private String path;
}
@Data
public static class CoordinateBeans {
@ApiModelProperty(value = "线段起始坐标x", example = "213")
private Integer x1;
@ApiModelProperty(value = "线段结束坐标x", example = "213")
private Integer x2;
@ApiModelProperty(value = "线段起始坐标y", example = "213")
private Integer y1;
@ApiModelProperty(value = "线段结束坐标y", example = "213")
private Integer y2;
}
}

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

@ -0,0 +1,62 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "绘制坐标信息", description = "绘制坐标信息")
public class PhotoMarkVo {
@NotNull(message = "装置编号")
@ApiModelProperty(value = "装置编号", example = "213")
private Integer termId;
@NotNull(message = "通道编号")
@ApiModelProperty(value = "通道编号", example = "213")
private Integer channelId;
@NotNull(message = "参考图片宽不能缺少")
@ApiModelProperty(value = "参考图片宽", example = "213")
private Integer width;
@NotNull(message = "参考图片高不能缺少")
@ApiModelProperty(value = "参考图片高", example = "213")
private Integer height;
@NotNull(message = "线条颜色不能缺少")
@ApiModelProperty(value = "线条颜色", example = "213")
private Integer color;
@NotNull(message = "线条宽度不能缺少")
@ApiModelProperty(value = "线条宽度", example = "213")
private Short boderWidth;
@ApiModelProperty(value = "绘制编号", example = "213")
private Integer id;
@ApiModelProperty(value = "绘制编号", example = "213")
private Date createTime;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<CoordinateBeans> list;
@Data
public static class CoordinateBeans {
@ApiModelProperty(value = "线段ID", example = "213")
private Integer markId;
@ApiModelProperty(value = "线段起始坐标x", example = "213")
private Integer x1;
@ApiModelProperty(value = "线段结束坐标x", example = "213")
private Integer x2;
@ApiModelProperty(value = "线段起始坐标y", example = "213")
private Integer y1;
@ApiModelProperty(value = "线段结束坐标y", example = "213")
private Integer y2;
}
}

@ -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")
private String userName;
@NotNull(message = "昵称")
@ApiModelProperty(value = "昵称", example = "123455")
private String nickName;
@NotNull(message = "角色")
@ApiModelProperty(value = "角色", example = "123455")
private Integer role;
@NotNull(message = "密码")
@ApiModelProperty(value = "密码", example = "123455")

@ -0,0 +1,22 @@
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 VoiceCtrlVo {
@NotNull(message = "监测装置ID")
@ApiModelProperty(value = "监测装置ID", example = "123455")
private String cmdId;
@NotNull(message = "声光报警开关 0:关闭 1:开启")
@ApiModelProperty(value = "声光报警开关", example = "0:关闭 1:开启")
private short ctrl;
}

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

@ -5,10 +5,7 @@ import com.shxy.xymanager_common.dto.PhotoParamsDto;
import com.shxy.xymanager_common.dto.TermAndChannelLatestPhotoMapperDto;
import com.shxy.xymanager_common.dto.TerminalPhotoScheduleDto;
import com.shxy.xymanager_common.entity.TerminalPhoto;
import com.shxy.xymanager_common.vo.PhotoParamsVo;
import com.shxy.xymanager_common.vo.ReturnedPhotoParamsVo;
import com.shxy.xymanager_common.vo.TerminalPhotoTimeVo;
import com.shxy.xymanager_common.vo.TerminalReqPhotoTimeVo;
import com.shxy.xymanager_common.vo.*;
import org.apache.ibatis.annotations.Param;
import javax.xml.crypto.Data;
@ -53,5 +50,14 @@ public interface TerminalPhotoDao {
String getRequestResult(@Param("requestId") Integer requestId);
void deleteByMarkId(@Param("markId")Integer markId);
Integer addPhotoMark(PhotoMarkVo vo);
Integer addPhotoMarkPath(@Param("list")List<PhotoMarkVo.CoordinateBeans> list, @Param("markId")Integer id);
void updatePhotoMark(PhotoMarkVo vo);
}

@ -2,10 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.shxy.xymanager_dao.dao.SysUserMapperDao">
<resultMap id="SysUserResult" type="com.shxy.xymanager_common.bean.SysUser">
<id column="id" property="userId" />
<id column="uid" property="userId" />
<result column="name" property="userName" />
<result column="password" property="password" />
<result column="status" property="status" />
<result column="role" property="role" />
</resultMap>
@ -32,7 +33,7 @@
</if>
</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>
@ -52,8 +53,8 @@
</update>
<insert id="addUser" parameterType="com.shxy.xymanager_common.bean.SysUser">
insert into sys_user(user_name,nick_name,password)
values(#{userName},#{nickName},#{password})
insert into sys_user(user_name,nick_name,password,role,create_time)
values(#{userName},#{userName},#{password},#{role},#{createTime})
</insert>
<select id="selectUserBySessionId" resultType="com.shxy.xymanager_common.entity.UserSession">
@ -70,16 +71,59 @@
update `sys_user_session`
<set>
<if test="expireTime!= null">
expireTime = #{expireTime},
expire_time = #{expireTime},
</if>
</set>
where session_id = #{sessionId}
</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="password!= null">
password = #{password},
</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 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>
<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>

@ -348,4 +348,57 @@
where term_id = #{termId}
order by create_time desc limit 1
</select>
<insert id="addPhotoMark" keyProperty="id" useGeneratedKeys="true" parameterType="com.shxy.xymanager_common.vo.PhotoMarkVo">
insert into terminal_photo_marks (term_id, channel_id,
color, width, height,boder_width ,create_time
)
values (#{termId,jdbcType=INTEGER}, #{channelId,jdbcType=INTEGER},
#{color,jdbcType=INTEGER}, #{width,jdbcType=INTEGER}, #{height,jdbcType=INTEGER},
#{boderWidth,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}
)
</insert>
<insert id="addPhotoMarkPath" parameterType="java.util.List">
insert into terminal_photo_mark_paths (mark_id, x1,
x2, y1, y2
)
values
<foreach collection="list" item="item" separator=",">
(#{markId,jdbcType=INTEGER}, #{item.x1,jdbcType=INTEGER}, #{item.x2,jdbcType=INTEGER},
#{item.y1,jdbcType=INTEGER}, #{item.y2,jdbcType=INTEGER}
)
</foreach>
</insert>
<update id="updatePhotoMark" parameterType="com.shxy.xymanager_common.vo.PhotoMarkVo">
update `terminal_photo_marks`
<set>
<if test="termId != null">
term_id = #{termId,jdbcType=VARCHAR},
</if>
<if test="channelId != null">
channel_id = #{channelId,jdbcType=INTEGER},
</if>
<if test="color != null">
color = #{color,jdbcType=INTEGER},
</if>
<if test="width != null">
width = #{width,jdbcType=INTEGER},
</if>
<if test="height != null">
height = #{height,jdbcType=INTEGER},
</if>
<if test="boderWidth != null">
boder_width = #{boderWidth,jdbcType=INTEGER},
</if>
</set>
where id = #{id}
</update>
<delete id="deleteById">
delete from terminal_photo_mark_paths
where mark_id = #{markId}
</delete>
</mapper>

@ -40,9 +40,22 @@
<result column="bs_identifier" jdbcType="VARCHAR" property="bsIdentifier"/>
<result column="latitude" jdbcType="DOUBLE" property="latitude"/>
<result column="longitude" jdbcType="DOUBLE" property="longitude"/>
<result column="width" jdbcType="INTEGER" property="width"/>
<result column="mark_id" jdbcType="INTEGER" property="markId"/>
<result column="height" jdbcType="INTEGER" property="height"/>
<result column="color" jdbcType="INTEGER" property="color"/>
<result column="boder_width" jdbcType="SMALLINT" property="boderWidth"/>
<collection property="list" javaType="list" ofType="com.shxy.xymanager_common.dto.TerminalChannelsDto">
<result column="channel_id" jdbcType="INTEGER" property="id"/>
<result column="channel_name" jdbcType="VARCHAR" property="name"/>
<result column="path" jdbcType="VARCHAR" property="path"/>
</collection>
<collection property="lineList" javaType="list" ofType="com.shxy.xymanager_common.dto.TermChannelCoordinateDto">
<result column="path_id" jdbcType="INTEGER" property="pathId"/>
<result column="x1" jdbcType="INTEGER" property="x1"/>
<result column="x2" jdbcType="INTEGER" property="x2"/>
<result column="y1" jdbcType="INTEGER" property="y1"/>
<result column="y2" jdbcType="INTEGER" property="y2"/>
</collection>
</resultMap>
@ -139,12 +152,31 @@
a.latitude as latitude,
a.longitude as longitude,
e.id as channel_id,
e.channel_name as channel_name
e.channel_name as channel_name,
tpm.width as width,
tpm.height as height,
tpm.color as color,
tpm.boder_width as boder_width,
tpm.id as mark_id,
tpmp.id as path_id,
tpmp.x1 as x1,
tpmp.x2 as x2,
tpmp.y1 as y1,
tpmp.y2 as y2,
tp.path as path
from
((((terminals a left join `lines` b on a.line_id = b.id )
(((((((terminals a left join `lines` b on a.line_id = b.id )
left join tower c on a.tower_id = c.id)
left join terminal_channel_mapper d on a.id = d.term_id)
left join terminal_channels e on d.channel_id = e.id)
left join terminal_photo_marks tpm on a.id = tpm.term_id and e.id = tpm.channel_id)
left join terminal_photo_mark_paths tpmp on tpmp.mark_id = tpm.id)
left join
(
SELECT path,term_id,channel_id
from terminal_photos
where id in (select max(id) from terminal_photos where media_type =1 GROUP BY term_id,channel_id)
) tp on tp.channel_id = e.id and tp.term_id = a.id )
WHERE a.status = 1
order by a.create_time desc
</select>

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

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

@ -1,11 +1,17 @@
package com.shxy.xymanager_framework.interaction;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil;
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.exception.Asserts;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_service.service.SysUserService;
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.web.method.HandlerMethod;
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.HttpServletResponse;
import java.math.BigInteger;
/**
* @ClassNameJwtAuthenticationTokenFilter
@ -24,6 +31,10 @@ import javax.servlet.http.HttpServletResponse;
@Component
@Slf4j
public class JwtInterceptor implements HandlerInterceptor {
@Autowired
SysUserService sysUserService;
@Value("${session.expire_time}")
public BigInteger time;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@ -40,10 +51,24 @@ public class JwtInterceptor implements HandlerInterceptor {
return true;
}
// 获取请求头信息authorization信息
final String token = request.getHeader("token");
if (StrUtil.isBlank(token)) {
log.info("token为空登录过期");
final String sessionId = request.getHeader("sessionId");
if (StrUtil.isBlank(sessionId)) {
log.info("sessionId为空登录过期");
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;
}

@ -5,6 +5,7 @@ import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.SysUser;
import com.shxy.xymanager_common.config.CustomRsaProperties;
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.exception.Asserts;
import com.shxy.xymanager_common.exception.UserPasswordNotMatchException;
@ -22,6 +23,7 @@ import org.springframework.util.DigestUtils;
import java.math.BigInteger;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
/**
*
@ -64,27 +66,33 @@ public class LoginServiceImpl implements LoginService {
/**
*
* @param username
* @param password
* @param sysUser
* @return
*/
public ServiceBody<String> remoteLogin(String username, String password) throws Exception {
UserSession user = getLoginUser(username, password);
sysUserMapperDao.insertUserSession(user);
// 生成token
return Asserts.success(user.getSessionId());
public ServiceBody<UserSession> remoteLogin(SysUser sysUser) {
String sessionId = UuidUtils.getUUID();
try {
UserSession user = getLoginUser(sysUser);
user.setSessionId(sessionId);
sysUserMapperDao.insertUserSession(user);
return Asserts.success(user);
} catch (UserPasswordNotMatchException e){
return Asserts.error(e.getMessage());
} catch (Exception e) {
log.error("登录异常:{}",e.getMessage());
}
return Asserts.error("登录失败");
}
/**
*
*
* @param username
* @param password
* @param sysUser
* @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)) {
throw new UserPasswordNotMatchException("用户不存在", HttpStatusCode.ERROR);
@ -94,15 +102,16 @@ public class LoginServiceImpl implements LoginService {
// 密码解密
String pwd = RsaUtils.decryptByPrivateKey( CustomRsaProperties.privateKey, account.getPassword() );
// 密码对比
if (!password.equals(pwd)) {
if (!sysUser.getPassword().equals(pwd)) {
throw new UserPasswordNotMatchException("密码错误", HttpStatusCode.ERROR);
}
UserSession user = new UserSession();
// loginUser.setPermissions(permissions);
user.setUserName(username);
user.setUserName(sysUser.getUserName());
user.setRole(account.getRole());
BigInteger date = MyDateUtils.TimeMillSecond2Second(new DateTime());
user.setExpireTime(date);
user.setId(account.getUserId());
return user;
}
}

@ -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.SysUser;
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.enums.CommonStatus;
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.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_dao.dao.SysUserMapperDao;
import com.shxy.xymanager_service.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.HashMap;
import java.util.Map;
import java.math.BigInteger;
import java.util.*;
/**
@ -86,7 +104,8 @@ public class SysUserServiceImpl implements SysUserService {
// }
sysUser.setUserName(userName);
sysUser.setNickName(nickName);
sysUser.setCreateTime(new DateTime());
sysUser.setRole(vo.getRole());
try {
sysUser.setPassword(RsaUtils.encryptByPublicKey( CustomRsaProperties.publicKey,vo.getPassword()));
} catch (Exception e) {
@ -103,26 +122,38 @@ public class SysUserServiceImpl implements SysUserService {
}
@Override
public Boolean updateUser(SysUser user) {
return sysUserMapperDao.updateById(user);
public ServiceBody<String> updateUser(SysUserUpdateVo vo) {
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
public Boolean updateUserStatus(SysUser user) {
return sysUserMapperDao.updateById(user);
return null;
}
@Override
public Boolean updateUserProfile(SysUser user) {
return sysUserMapperDao.updateById(user);
return null;
}
@Override
public Boolean resetPwd(SysUser user) {
return sysUserMapperDao.updateById(user);
return null;
}
@Override
@ -132,18 +163,16 @@ public class SysUserServiceImpl implements SysUserService {
}
@Override
public int deleteUserById(Long userId) {
return 0;
}
public ServiceBody<String> deleteUserById(String userId) {
@Override
public int deleteUserByIds(Long[] userIds) {
for (Long userId : userIds) {
checkUserAllowed(new SysUser(userId));
int result = sysUserMapperDao.deleteUserById(userId);
if(result>0){
return Asserts.success("删除成功");
}
return sysUserMapperDao.deleteUserByIds(userIds);
return Asserts.error("失败");
}
@Override
public UserSession selectUserById(String sessionId) {
UserSession session = sysUserMapperDao.selectUserBySessionId(sessionId);
@ -156,6 +185,40 @@ public class SysUserServiceImpl implements SysUserService {
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) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE));

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

@ -297,8 +297,10 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService {
Boolean hasNew = false;
TerminalPhoto photo = terminalPhotoDao.getLatestPhoto(vo.getTermId());
BigInteger localPhotoTime = MyDateUtils.TimeMillSecond2Second(vo.getPhotoTime());
log.info("请求时间:{}",localPhotoTime);
log.info("装置凯斯处理时间:{}",photo.getRecvTime());
hasNew = photo.getRecvTime().compareTo(localPhotoTime) < 0 ? false : true;
if(hasNew){
if(hasNew && photo.getMediaType() == 1){
if(!StringUtils.isNotBlank(photo.getThumb())){
hasNew=false;
}

@ -26,7 +26,9 @@ import com.shxy.xymanager_service.service.TerminalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigInteger;
import java.util.ArrayList;
@ -61,6 +63,10 @@ public class TerminalServiceImpl implements TerminalService {
@Autowired
DyLevelDao dyLevelDao;
@Value("${photo.address}")
private String photoaddress;
/**
*
*
@ -77,6 +83,11 @@ public class TerminalServiceImpl implements TerminalService {
if (empty) {
model.setList(new ArrayList<>());
} else {
list.forEach(var->{
var.getList().stream().forEach(line->{
line.setPath(photoaddress+line.getPath());
});
});
List<TerminalListModel.TerminalBean> beans = BeanUtil.copyToList(list, TerminalListModel.TerminalBean.class, CopyOptions.create().ignoreCase());
model.setList(beans);
}
@ -307,5 +318,27 @@ public class TerminalServiceImpl implements TerminalService {
}
return Asserts.success(model);
}
@Override
@Transactional
public ServiceBody<String> updateCoordinate(PhotoMarkVo vo) {
int result;
Date date = new Date();
vo.setCreateTime(date);
if(null!=vo.getId()) {
terminalPhotoDao.deleteByMarkId(vo.getId());
terminalPhotoDao.updatePhotoMark(vo);
result = terminalPhotoDao.addPhotoMarkPath(vo.getList(),vo.getId());
}else{
terminalPhotoDao.addPhotoMark(vo);
result = terminalPhotoDao.addPhotoMarkPath(vo.getList(),vo.getId());
}
if(result>0){
return Asserts.success("保存成功");
}
return Asserts.error("保存失败");
}
}

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

@ -17,7 +17,7 @@ public interface TermSetService {
*
* @return
*/
ServiceBody<Integer> alarmMark(TerminalIdVo vo);
ServiceBody<String> alarmMark(VoiceCtrlVo vo);
ServiceBody<Integer> selectPhotoTimeGet(TerminalIdVo vo);

@ -85,4 +85,6 @@ public interface TerminalService {
*/
ServiceBody<TerminalIdModel> selectTerminalId(Integer requestId);
ServiceBody<String> updateCoordinate(PhotoMarkVo vo);
}

Loading…
Cancel
Save