From b762ec2dd9db7ebcf222b0621cd3c1671f9f451c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 22 Jun 2021 17:47:02 +0800
Subject: [PATCH] 版本合并

---
 src/main/java/org/springblade/modules/chatrecords/service/ChatRecordsService.java          |   45 +++
 src/main/java/org/springblade/modules/feedback/service/impl/FeedbackServiceImpl.java       |    2 
 src/main/java/org/springblade/modules/system/feign/IUserClient.java                        |  126 ++++++++++
 src/main/java/org/springblade/modules/system/entity/User.java                              |    2 
 src/main/java/org/springblade/modules/feedback/controller/FeedbackController.java          |  103 +++++---
 src/main/java/org/springblade/modules/chatrecords/vo/ChatRecordsVo.java                    |   30 ++
 src/main/java/org/springblade/modules/chatrecords/entity/ChatRecords.java                  |   74 ++++++
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java             |   31 ++
 src/main/java/org/springblade/modules/feedback/entity/Feedback.java                        |    7 
 src/main/java/org/springblade/modules/chatrecords/service/impl/ChatRecordsServiceImpl.java |   60 +++++
 src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java                          |    5 
 src/main/java/org/springblade/modules/chatrecords/controller/ChatRecordsController.java    |  104 ++++++++
 src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.xml             |   35 ++
 src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java      |    5 
 src/main/java/org/springblade/modules/system/controller/UserController.java                |   20 +
 src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.java            |   32 ++
 src/main/java/org/springblade/modules/system/service/IUserService.java                     |   11 
 17 files changed, 639 insertions(+), 53 deletions(-)

diff --git a/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java b/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
index fa1e865..25f3b4c 100644
--- a/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
+++ b/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
@@ -483,7 +483,10 @@
 	@PostMapping("/AppSave")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入attendance")
-	public R AppSave(@Valid Attendance attendance) {
+	public R AppSave(@Valid Attendance attendance,HttpServletResponse response) {
+		response.setHeader("Access-Control-Allow-Origin", "*");
+		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+		response.setHeader("Access-Control-Allow-Credentials", "true");
 		System.out.println("attendance = " + attendance);
 		Enclosure enclosure = new Enclosure();
 		enclosure.setAnumber(attendance.getNumber());
diff --git a/src/main/java/org/springblade/modules/chatrecords/controller/ChatRecordsController.java b/src/main/java/org/springblade/modules/chatrecords/controller/ChatRecordsController.java
new file mode 100644
index 0000000..a5c986c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/controller/ChatRecordsController.java
@@ -0,0 +1,104 @@
+package org.springblade.modules.chatrecords.controller;
+
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.chatrecords.entity.ChatRecords;
+import org.springblade.modules.chatrecords.service.ChatRecordsService;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.feign.IUserClient;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zhongrj
+ * @time 2021-06-18
+ * 聊天消息控制层
+ */
+@AllArgsConstructor
+@RestController
+@RequestMapping("/chat-records")
+public class ChatRecordsController {
+
+	private final IUserClient iUserClient;
+
+	private final ChatRecordsService chatRecordsService;
+
+	/**
+	 * 查询单聊消息记录
+	 * @param chatRecords 消息记录对象
+	 * @param response 响应
+	 * @param query 查询条件,分页
+	 * @return
+	 */
+	@GetMapping("/getSingleMessagePage")
+	public R getSingleMessagePage(@Valid ChatRecords chatRecords, HttpServletResponse response, Query query){
+		//跨域设置
+		crossDomain(response);
+		Map<String, Object> map = new HashMap<>(2);
+		//查询单聊人的信息
+		List<User> user = Arrays.asList(iUserClient.userInfoById(chatRecords.getSenderId()).getData(), iUserClient.userInfoById(chatRecords.getRecipientId()).getData());
+		//查询单聊记录信息
+		if (null==query.getCurrent()){
+			map.put("chatRecordsIPage",chatRecordsService.selectChatlist(chatRecords));
+		}else {
+			map.put("chatRecordsIPage",chatRecordsService.selectChatRecordsPage(Condition.getPage(query), chatRecords));
+		}
+		//封装数据
+		map.put("user",user);
+		//返回数据
+		return R.data(map);
+	}
+
+
+	/**
+	 * 查询当前用户的聊天列表
+	 * @param chatRecords 消息记录对象
+	 * @param response 响应
+	 * @param query 查询条件,分页
+	 * @return
+	 */
+	@GetMapping("/getChatListPage")
+	public R getChatListPage(@Valid ChatRecords chatRecords, HttpServletResponse response, Query query){
+		//跨域设置
+		crossDomain(response);
+		if(null==query.getCurrent()){
+			//不分页
+			return R.data(chatRecordsService.getChatList( chatRecords));
+		}
+		//查询当前人员的聊天列表,并返回数据
+		return R.data(chatRecordsService.getChatListPage(Condition.getPage(query), chatRecords));
+	}
+
+
+	/**
+	 * 单聊消息插入
+	 * @param chatRecords 消息记录对象
+	 * @param response 响应
+	 * @return
+	 */
+	@PostMapping("/insertSingleChat")
+	public R insertSingleChat(@Valid @RequestBody ChatRecords chatRecords, HttpServletResponse response){
+		//跨域设置
+		crossDomain(response);
+		//单聊消息插入
+		return R.data(chatRecordsService.save(chatRecords));
+	}
+
+	/**
+	 * 配置跨域设置
+	 * @param response
+	 */
+	private void crossDomain(HttpServletResponse response) {
+		response.setHeader("Access-Control-Allow-Origin", "*");
+		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+		response.setHeader("Access-Control-Allow-Credentials","true");
+	}
+}
diff --git a/src/main/java/org/springblade/modules/chatrecords/entity/ChatRecords.java b/src/main/java/org/springblade/modules/chatrecords/entity/ChatRecords.java
new file mode 100644
index 0000000..256f7dc
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/entity/ChatRecords.java
@@ -0,0 +1,74 @@
+package org.springblade.modules.chatrecords.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ *
+ * @author zhongrj
+ * @time 2021-06-18
+ * @desc 聊天记录实体类
+ *
+ */
+
+@Data
+@TableName("sys_chat_records")
+public class ChatRecords implements Serializable {
+	/**
+	 * 主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 发送消息内容
+	 */
+	@TableField("post_message")
+	private String postMessage;
+
+	/**
+	 * 消息类型 0 文本  1 表情  2 图片  3 视频...
+	 */
+	@TableField("message_type")
+	private Integer messageType;
+
+	/**
+	 * 接收状态 0 已接收  1 未接收
+	 */
+	private Integer status;
+
+	/**
+	 * 发送时间
+	 */
+	@TableField("post_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date postTime;
+
+	/**
+	 * 发送消息人id
+	 *
+	 */
+	@NotNull(message = "发送消息人id不能为空")
+	@TableField("sender_id")
+	@JsonFormat(shape = JsonFormat.Shape.STRING)
+	private Long senderId;
+
+	/**
+	 * 接收消息人id
+	 * @NotNull(message = "接收消息人id不能为空")
+	 */
+	@TableField("recipient_id")
+	@JsonFormat(shape = JsonFormat.Shape.STRING)
+	private Long recipientId;
+
+}
diff --git a/src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.java b/src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.java
new file mode 100644
index 0000000..a1fb7aa
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.java
@@ -0,0 +1,32 @@
+package org.springblade.modules.chatrecords.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.chatrecords.entity.ChatRecords;
+import org.springblade.modules.chatrecords.vo.ChatRecordsVo;
+
+import java.util.List;
+
+
+/**
+ * @author zhongrj
+ * mapper 映射层
+ */
+public interface ChatRecordsMapper extends BaseMapper<ChatRecords> {
+
+	/**
+	 * 查询单聊消息记录分页信息
+	 * @param page
+	 * @param chatRecords 聊天消息对象
+	 * @return
+	 */
+	List<ChatRecords> selectChatRecordsPage(IPage<ChatRecords> page, ChatRecords chatRecords);
+
+	/**
+	 * 查询当前用户的聊天列表
+	 * @param chatRecords 消息记录对象
+	 * @param page
+	 * @return
+	 */
+	List<ChatRecordsVo> getChatListPage(IPage<ChatRecordsVo> page, ChatRecords chatRecords);
+}
diff --git a/src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.xml b/src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.xml
new file mode 100644
index 0000000..df450c3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/mapper/ChatRecordsMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.chatrecords.mapper.ChatRecordsMapper">
+
+    <!--查询单聊的消息记录列表-->
+    <select id="selectChatRecordsPage" resultType="org.springblade.modules.chatrecords.entity.ChatRecords">
+        select * from sys_chat_records  where sender_id = #{chatRecords.senderId} and recipient_id = #{chatRecords.recipientId}
+        union
+        select * from sys_chat_records  where sender_id = #{chatRecords.recipientId} and recipient_id = #{chatRecords.senderId}
+        order by post_time desc
+    </select>
+
+    <!--聊天列表-->
+    <select id="getChatListPage" resultType="org.springblade.modules.chatrecords.vo.ChatRecordsVo">
+        select scrss.*,name recipientNickName,real_name recipientName,avatar from jfpthpublicsecurity.blade_user bu
+        right join
+        (
+            select scr.id,scrs.uid recipientId,post_time postTime,post_message postMessage from sys_chat_records  scr
+            right join
+            (
+                select max(max_id) id,uid from (
+                    select recipient_id as uid,max(id) as max_id from sys_chat_records where sender_id = #{chatRecords.senderId} group by recipient_id
+                    union all
+                    select sender_id as uid,max(id) as max_id from sys_chat_records where recipient_id = #{chatRecords.senderId} group by sender_id
+                )t group by uid
+            ) scrs
+            on
+            scr.id = scrs.id
+        ) scrss
+        on
+        bu.id = scrss.recipientId
+        order by postTime desc
+    </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/chatrecords/service/ChatRecordsService.java b/src/main/java/org/springblade/modules/chatrecords/service/ChatRecordsService.java
new file mode 100644
index 0000000..ae3ebd5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/service/ChatRecordsService.java
@@ -0,0 +1,45 @@
+package org.springblade.modules.chatrecords.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.chatrecords.entity.ChatRecords;
+import org.springblade.modules.chatrecords.vo.ChatRecordsVo;
+
+import java.util.List;
+
+/**
+ * @author zhongrj
+ * 聊天消息接口层
+ */
+public interface ChatRecordsService extends IService<ChatRecords> {
+
+	/**
+	 * 查询聊天消息分页信息
+	 * @param page
+	 * @param chatRecords 聊天消息对象
+	 * @return
+	 */
+	IPage<ChatRecords> selectChatRecordsPage(IPage<ChatRecords> page, ChatRecords chatRecords);
+
+	/**
+	 * 查询当前用户的聊天列表
+	 * @param chatRecords 消息记录对象
+	 * @param page
+	 * @return
+	 */
+	IPage<ChatRecordsVo> getChatListPage(IPage<ChatRecordsVo> page, ChatRecords chatRecords);
+
+	/**
+	 * 查询当前用户的聊天列表(不分页)
+	 * @param chatRecords 消息记录对象
+	 * @return
+	 */
+	List<ChatRecordsVo> getChatList(ChatRecords chatRecords);
+
+	/**
+	 * 查询单聊消息记录 (不分页)
+	 * @param chatRecords 消息记录对象
+	 * @return
+	 */
+	List<ChatRecords> selectChatlist(ChatRecords chatRecords);
+}
diff --git a/src/main/java/org/springblade/modules/chatrecords/service/impl/ChatRecordsServiceImpl.java b/src/main/java/org/springblade/modules/chatrecords/service/impl/ChatRecordsServiceImpl.java
new file mode 100644
index 0000000..d951983
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/service/impl/ChatRecordsServiceImpl.java
@@ -0,0 +1,60 @@
+package org.springblade.modules.chatrecords.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.chatrecords.entity.ChatRecords;
+import org.springblade.modules.chatrecords.mapper.ChatRecordsMapper;
+import org.springblade.modules.chatrecords.service.ChatRecordsService;
+import org.springblade.modules.chatrecords.vo.ChatRecordsVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author zhongrj
+ */
+@Service
+public class ChatRecordsServiceImpl extends ServiceImpl<ChatRecordsMapper, ChatRecords> implements ChatRecordsService {
+
+	/**
+	 * 查询聊天消息分页信息
+	 * @param page
+	 * @param chatRecords 聊天消息对象
+	 * @return
+	 */
+	@Override
+	public IPage<ChatRecords> selectChatRecordsPage(IPage<ChatRecords> page, ChatRecords chatRecords) {
+		return page.setRecords(baseMapper.selectChatRecordsPage(page,chatRecords));
+	}
+
+	/**
+	 * 查询当前用户的聊天列表
+	 * @param chatRecords 消息记录对象
+	 * @param page
+	 * @return
+	 */
+	@Override
+	public IPage<ChatRecordsVo> getChatListPage(IPage<ChatRecordsVo> page, ChatRecords chatRecords) {
+		return page.setRecords(baseMapper.getChatListPage(page,chatRecords));
+	}
+
+	/**
+	 * 查询当前用户的聊天列表(不分页)
+	 * @param chatRecords 消息记录对象
+	 * @return
+	 */
+	@Override
+	public List<ChatRecordsVo> getChatList(ChatRecords chatRecords) {
+		return baseMapper.getChatListPage(null,chatRecords);
+	}
+
+	/**
+	 * 查询单聊消息记录 (不分页)
+	 * @param chatRecords 消息记录对象
+	 * @return
+	 */
+	@Override
+	public List<ChatRecords> selectChatlist(ChatRecords chatRecords) {
+		return baseMapper.selectChatRecordsPage(null,chatRecords);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/chatrecords/vo/ChatRecordsVo.java b/src/main/java/org/springblade/modules/chatrecords/vo/ChatRecordsVo.java
new file mode 100644
index 0000000..f9c42f1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/chatrecords/vo/ChatRecordsVo.java
@@ -0,0 +1,30 @@
+package org.springblade.modules.chatrecords.vo;
+
+import lombok.Data;
+import org.springblade.modules.chatrecords.entity.ChatRecords;
+
+import java.io.Serializable;
+
+/**
+ * @author zhongrj
+ * @time 2021-06-19
+ * @desc 聊天列表vo
+ */
+@Data
+public class ChatRecordsVo extends ChatRecords implements Serializable {
+	/**
+	 * 接收或者发送的昵称
+	 */
+	private String recipientNickName;
+
+	/**
+	 * 接收或者发送的姓名
+	 */
+	private String recipientName;
+
+	/**
+	 * 接收或者发送的头像 url
+	 */
+	private String avatar;
+
+}
diff --git a/src/main/java/org/springblade/modules/feedback/controller/FeedbackController.java b/src/main/java/org/springblade/modules/feedback/controller/FeedbackController.java
index 080f782..90c9472 100644
--- a/src/main/java/org/springblade/modules/feedback/controller/FeedbackController.java
+++ b/src/main/java/org/springblade/modules/feedback/controller/FeedbackController.java
@@ -179,9 +179,9 @@
 
 	@PostMapping("/insertfeed")
 	public R insertfeed(String jid, String snumber, String sname, String addvcd, String place,
-						String result, String describe, String type, String devicenumber, String galarmpeople,
-						String phone, String stime, String ctime, String feedbackaudio, String feedbackvideo,
-						String feedbackphoto, String jd, String wd, String tname, HttpServletResponse response) {
+                        String result, String describe, String type, String devicenumber, String galarmpeople,
+                        String phone, String stime, String ctime, String feedbackaudio, String feedbackvideo,
+                        String feedbackphoto, String jd, String wd, String tname, HttpServletResponse response) {
 		response.setHeader("Access-Control-Allow-Origin", "*");
 		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
 		response.setHeader("Access-Control-Allow-Credentials", "true");
@@ -271,46 +271,71 @@
 	@PostMapping("/saves")
 	public R saves(FeedbackVO feedback) {
 
-		SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间
-		sdf.applyPattern("yyyy-MM-dd HH:mm:ss");// a为am/pm的标记
-		Date date = new Date();// 获取当前时间
-		//System.out.println("现在时间:" + sdf.format(date)); // 输出已经格式化的现在时间(24小时制)
+		if (feedback.getStatus()==0) {
+			SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间
+			sdf.applyPattern("yyyy-MM-dd HH:mm:ss");// a为am/pm的标记
+			Date date = new Date();// 获取当前时间
+			//System.out.println("现在时间:" + sdf.format(date)); // 输出已经格式化的现在时间(24小时制)
 
-		Operation operation = new Operation();
-		operation.setJid(feedback.getJid());
-		operation.setSnumber(feedback.getSnumber());
-		operation.setZc("任务反馈提交,警情结束");
-		operation.setSname(feedback.getSname());
+			Operation operation = new Operation();
+			operation.setJid(feedback.getJid());
+			operation.setSnumber(feedback.getSnumber());
+			operation.setZc("任务反馈提交,警情结束");
+			operation.setSname(feedback.getSname());
 
-		operation.setZctime(sdf.format(date));
-		operationService.save(operation);
+			operation.setZctime(sdf.format(date));
+			operationService.save(operation);
+
+			Wj wj = new Wj();
+			if (feedback.getSpaddress().equals("") && feedback.getSpaddress() != null) {
+
+			} else {
+				//获取视频地址
+				String[] splitsp = feedback.getSpaddress().split(",");//以逗号分割
+				for (String string2 : splitsp) {
+					wj.setJid(feedback.getJid());
+					wj.setAddress(string2);
+					iWjService.insertfeed(wj);
+				}
+			}
+			if (feedback.getTpaddress().equals("") && feedback.getTpaddress() != null) {
+
+			} else {
+				String[] splittp = feedback.getTpaddress().split(",");//以逗号分割
+				for (
+					String string3 : splittp) {
+					wj.setJid(feedback.getJid());
+					wj.setAddress(string3);
+					iWjService.insertfeed(wj);
+				}
+			}
+
+			alarmService.updateJtype(operation.getJid(), "2", null, null);
+		}
+
+		if (feedback.getStatus()==1){
+			Wj wj = new Wj();
+			if (feedback.getSpaddress() != null &&  feedback.getSpaddress()!="") {
+				//获取视频地址
+				String[] splitsp = feedback.getSpaddress().split(",");//以逗号分割
+				for (String string2 : splitsp) {
+					wj.setSnumber(feedback.getSnumber());
+					wj.setAddress(string2);
+					iWjService.insertfeed(wj);
+				}
+			}
+			if (feedback.getTpaddress() != null &&  feedback.getTpaddress()!="") {
+				String[] splittp = feedback.getTpaddress().split(",");//以逗号分割
+				for (
+					String string3 : splittp) {
+					wj.setSnumber(feedback.getSnumber());
+					wj.setAddress(string3);
+					iWjService.insertfeed(wj);
+				}
+			}
+		}
 
 		feedbackService.save(feedback);
-		Wj wj = new Wj();
-		if (feedback.getSpaddress().equals("")&&feedback.getSpaddress()!=null) {
-
-		} else {
-			//获取视频地址
-			String[] splitsp = feedback.getSpaddress().split(",");//以逗号分割
-			for (String string2 : splitsp) {
-				wj.setJid(feedback.getJid());
-				wj.setAddress(string2);
-				iWjService.insertfeed(wj);
-			}
-		}
-		if (feedback.getTpaddress().equals("")&&feedback.getTpaddress()!=null){
-
-		}
-		else {
-			String[] splittp = feedback.getTpaddress().split(",");//以逗号分割
-			for (
-				String string3 : splittp) {
-				wj.setJid(feedback.getJid());
-				wj.setAddress(string3);
-				iWjService.insertfeed(wj);
-			}
-		}
-		alarmService.updateJtype(operation.getJid(), "2", null, null);
 
 		return R.success("新增成功");
 	}
diff --git a/src/main/java/org/springblade/modules/feedback/entity/Feedback.java b/src/main/java/org/springblade/modules/feedback/entity/Feedback.java
index 2883d12..24febeb 100644
--- a/src/main/java/org/springblade/modules/feedback/entity/Feedback.java
+++ b/src/main/java/org/springblade/modules/feedback/entity/Feedback.java
@@ -20,11 +20,14 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * 实体类
@@ -106,7 +109,9 @@
 	*/
 		@ApiModelProperty(value = "事发时间")
 		@TableField("stime")
-	private String stime;
+		@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+		@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date stime;
 	/**
 	* 处理完成时间
 	*/
diff --git a/src/main/java/org/springblade/modules/feedback/service/impl/FeedbackServiceImpl.java b/src/main/java/org/springblade/modules/feedback/service/impl/FeedbackServiceImpl.java
index 7080eef..15ddb99 100644
--- a/src/main/java/org/springblade/modules/feedback/service/impl/FeedbackServiceImpl.java
+++ b/src/main/java/org/springblade/modules/feedback/service/impl/FeedbackServiceImpl.java
@@ -16,7 +16,6 @@
  */
 package org.springblade.modules.feedback.service.impl;
 
-import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.modules.feedback.entity.Feedback;
@@ -35,7 +34,6 @@
  * @since 2020-07-14
  */
 @Service
-
 public class FeedbackServiceImpl extends ServiceImpl<FeedbackMapper, Feedback> implements IFeedbackService {
 
 	@Override
diff --git a/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java b/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java
index 5b2b978..0951253 100644
--- a/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java
+++ b/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java
@@ -38,4 +38,9 @@
 	private  String spaddress;
 	private  String tpaddress;
 
+	/**
+	 * 0 警情反馈   1 调查取证上报
+ 	 */
+	private Integer status;
+
 }
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 4567fdf..7000c8c 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -231,7 +231,25 @@
 	@ApiOperation(value = "修改基本信息", notes = "传入User")
 	public R updateInfo(@Valid @RequestBody User user) {
 		CacheUtil.clear(USER_CACHE);
+		if (null!= user.getAvatar() && user.getAvatar()!="") {
+			String avatar = user.getAvatar();
+			String substring = avatar.substring(25, avatar.length());
+			String url = "https://web.byisf.com/minio" + substring;
+			user.setAvatar(url);
+		}
 		return R.status(userService.updateUserInfo(user));
+	}
+
+	/**
+	 * 修改用户基本信息,不修改用户密码
+	 * @param user 用户信息
+	 * @autor zhongrj
+	 * @time 2021-06-16
+	 */
+	@PostMapping("/updateUserInfo")
+	public R updateUserInfo(@Valid @RequestBody User user) {
+		CacheUtil.clear(USER_CACHE);
+		return R.status(userService.updateUserInfos(user));
 	}
 
 	/**
@@ -345,7 +363,7 @@
 		response.setHeader("Access-Control-Allow-Origin", "*");
 		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
 		response.setHeader("Access-Control-Allow-Credentials", "true");
-		return R.data(userService.selectSecurityUserPageList(Condition.getPage(query),user));
+		return R.data(userService.selectSecurityUserList(Condition.getPage(query),user));
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/system/entity/User.java b/src/main/java/org/springblade/modules/system/entity/User.java
index 15e634d..c1baa2a 100644
--- a/src/main/java/org/springblade/modules/system/entity/User.java
+++ b/src/main/java/org/springblade/modules/system/entity/User.java
@@ -18,6 +18,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.core.tenant.mp.TenantEntity;
@@ -75,6 +76,7 @@
 	/**
 	 * 生日
 	 */
+	@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
 	private Date birthday;
 	/**
 	 * 性别
diff --git a/src/main/java/org/springblade/modules/system/feign/IUserClient.java b/src/main/java/org/springblade/modules/system/feign/IUserClient.java
new file mode 100644
index 0000000..86884df
--- /dev/null
+++ b/src/main/java/org/springblade/modules/system/feign/IUserClient.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.system.feign;
+
+
+import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.entity.UserInfo;
+import org.springblade.modules.system.entity.UserOauth;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * User Feign接口类
+ *
+ * @author Chill
+ */
+@FeignClient(
+	value = AppConstant.APPLICATION_USER_NAME
+)
+public interface IUserClient {
+
+	String API_PREFIX = "/client";
+	String USER_INFO = API_PREFIX + "/user-info";
+	String USER_INFO_BY_TYPE = API_PREFIX + "/user-info-by-type";
+	String USER_INFO_BY_ID = API_PREFIX + "/user-info-by-id";
+	String USER_INFO_BY_ACCOUNT = API_PREFIX + "/user-info-by-account";
+	String USER_AUTH_INFO = API_PREFIX + "/user-auth-info";
+	String SAVE_USER = API_PREFIX + "/save-user";
+	String REMOVE_USER = API_PREFIX + "/remove-user";
+	String SELUSERBYCODE =  API_PREFIX + "/selUserByCode";
+
+	/**
+	 * 获取用户信息
+	 *
+	 * @param userId 用户id
+	 * @return
+	 */
+	@GetMapping(USER_INFO_BY_ID)
+    R<User> userInfoById(@RequestParam("userId") Long userId);
+
+
+	/**
+	 * 根据账号获取用户信息
+	 *
+	 * @param tenantId 租户id
+	 * @param account  账号
+	 * @return
+	 */
+	@GetMapping(USER_INFO_BY_ACCOUNT)
+    R<User> userByAccount(@RequestParam("tenantId") String tenantId, @RequestParam("account") String account);
+
+	/**
+	 * 获取用户信息
+	 *
+	 * @param tenantId 租户ID
+	 * @param account  账号
+	 * @return
+	 */
+	@GetMapping(USER_INFO)
+    R<UserInfo> userInfo(@RequestParam("tenantId") String tenantId, @RequestParam("account") String account);
+
+	/**
+	 * 获取用户信息
+	 *
+	 * @param tenantId 租户ID
+	 * @param account  账号
+	 * @param userType 用户平台
+	 * @return
+	 */
+	@GetMapping(USER_INFO_BY_TYPE)
+    R<UserInfo> userInfo(@RequestParam("tenantId") String tenantId, @RequestParam("account") String account, @RequestParam("userType") String userType);
+
+	/**
+	 * 获取第三方平台信息
+	 *
+	 * @param userOauth 第三方授权用户信息
+	 * @return UserInfo
+	 */
+	@PostMapping(USER_AUTH_INFO)
+    R<UserInfo> userAuthInfo(@RequestBody UserOauth userOauth);
+
+	/**
+	 * 新建用户
+	 *
+	 * @param user 用户实体
+	 * @return
+	 */
+	@PostMapping(SAVE_USER)
+    R<Boolean> saveUser(@RequestBody User user);
+
+	/**
+	 * 删除用户
+	 *
+	 * @param tenantIds 租户id集合
+	 * @return
+	 */
+	@PostMapping(REMOVE_USER)
+    R<Boolean> removeUser(@RequestParam("tenantIds") String tenantIds);
+
+	/**
+	 * 根据用户编号查询用户新
+	 * @param code 用户编号
+	 * @return
+	 */
+	@GetMapping(SELUSERBYCODE)
+    User selUserByCode(@RequestParam("code") String code);
+}
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index d3a7dc1..a2dc776 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -232,7 +232,14 @@
 	 * @param user  用户对象
 	 * @param page  分页
 	 */
-	IPage<UsersVo> selectSecurityUserPageList(IPage<UsersVo> page, User user);
+	IPage<UsersVo> selectSecurityUserList(IPage<UsersVo> page, User user);
 
-    R<Boolean> saveUser(User user);
+	/**
+	 * 修改用户基本信息,不修改用户密码
+	 * @param user 用户信息
+	 * @autor zhongrj
+	 * @time 2021-06-16
+	 */
+	boolean updateUserInfos(User user);
+
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 7c5959c..2ccca3a 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -433,19 +433,36 @@
 		return userVO;
 	}
 
+	/**
+	 * 查询处警人员列表
+	 * @param page  分页
+	 * @param user  用户对象
+	 * @return
+	 */
+	@Override
+	public IPage<UsersVo> selectSecurityUserList(IPage<UsersVo> page, User user) {
+		return page.setRecords(baseMapper.selectSecurityUserPageList(page,user));
+	}
+
+	/**
+	 * 根据用户编号查询用户新
+	 * @param code 用户编号
+	 * @return
+	 */
 	@Override
 	public User selUserByCode(String code) {
 		return baseMapper.selUserByCode(code);
 	}
 
+	/**
+	 * 修改用户基本信息,不修改用户密码
+	 * @param user 用户信息
+	 * @autor zhongrj
+	 * @time 2021-06-16
+	 */
 	@Override
-	public IPage<UsersVo> selectSecurityUserPageList(IPage<UsersVo> page, User user) {
-		return page.setRecords(baseMapper.selectSecurityUserPageList(page,user));
-	}
-
-	@Override
-	public R<Boolean> saveUser(User user) {
-		return null;
+	public boolean updateUserInfos(User user) {
+		return updateById(user);
 	}
 
 

--
Gitblit v1.9.3