diff --git a/xinelu-common/src/main/java/com/xinelu/common/core/dto/MessageTemplate.java b/xinelu-common/src/main/java/com/xinelu/common/core/dto/MessageTemplate.java index f5a80de..2d2b08e 100644 --- a/xinelu-common/src/main/java/com/xinelu/common/core/dto/MessageTemplate.java +++ b/xinelu-common/src/main/java/com/xinelu/common/core/dto/MessageTemplate.java @@ -40,6 +40,11 @@ public class MessageTemplate { */ private String msgType; + /** + * 消息类型(文字/图片) + */ + private String messageType; + /** * 发送时间 * */ diff --git a/xinelu-framework/src/main/java/com/xinelu/framework/config/SecurityConfig.java b/xinelu-framework/src/main/java/com/xinelu/framework/config/SecurityConfig.java index 23f6341..77ba019 100644 --- a/xinelu-framework/src/main/java/com/xinelu/framework/config/SecurityConfig.java +++ b/xinelu-framework/src/main/java/com/xinelu/framework/config/SecurityConfig.java @@ -112,7 +112,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { // 过滤请求 .authorizeRequests() // 对于登录login 注册register 验证码captchaImage 允许匿名访问 - .antMatchers("/login", "/register", "/captchaImage","/newapp/login/appLogin").anonymous() + .antMatchers("/login", "/register", "/captchaImage","/newapp/login/appLogin","/system/hospitalPerson/*").anonymous() // 静态资源,可匿名访问 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/chatrecord/ChatRecordController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/chatrecord/ChatRecordController.java index c6ddbea..6b80fdd 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/chatrecord/ChatRecordController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/chatrecord/ChatRecordController.java @@ -12,12 +12,14 @@ import com.xinelu.common.core.domain.R; import com.xinelu.common.enums.BusinessType; import com.xinelu.common.socket.WebSocketUtils; import com.xinelu.manage.domain.chatRecord.ChatRecord; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; import java.util.Objects; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -33,6 +35,7 @@ import org.springframework.web.multipart.MultipartFile; * @author wanghao * @create 2023/9/26 0026 */ +@Api(tags = "消息控制器") @RestController @RequestMapping("/nurseApplet/chatRecord") public class ChatRecordController extends BaseController { @@ -62,7 +65,8 @@ public class ChatRecordController extends BaseController { @PostMapping("/sendMessage") @Transactional public AjaxResult sendMessage(@RequestBody ChatRecordDTO chatRecordDTO) { - if (chatRecordService.insertChatRecord(chatRecordDTO) > 0) { + chatRecordDTO.setMessageCategory("3"); + if (chatRecordService.insertChatRecord(chatRecordDTO) > 0) { // 判断接收人是否在线 if (WebSocketUtils.clients.get(chatRecordDTO.getRecipientId().toString()) == null) { return AjaxResult.success(); @@ -96,4 +100,13 @@ public class ChatRecordController extends BaseController { } return R.ok(chatRecordService.getMegVoList(messageDto)); } + + @ApiOperation("删除消息") + @GetMapping("/deleteMegs") + public R deleteMegs(@RequestBody List ids) { + if (CollectionUtils.isEmpty(ids)) { + return R.fail("请选择要删除的消息!"); + } + return chatRecordService.deleteMegs(ids) > 0 ? R.ok("删除成功") : R.fail("删除失败"); + } } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java index a9ab63a..f39a037 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java @@ -22,6 +22,9 @@ public class ChatRecordDTO extends BaseEntity implements Serializable { private static final long serialVersionUID = -3911806583514536587L; + @ApiModelProperty("消息类别 1:通知公告,2:健康推送,3:在线咨询 4:消息通知") + private String messageCategory; + /** * 聊天记录业务主键(问诊表id) */ @@ -86,11 +89,6 @@ public class ChatRecordDTO extends BaseEntity implements Serializable { */ private String title; - /** - * 消息类别 1:通知公告,2:健康推送,3:在线咨询 4:消息通知 - */ - private String messageCategory; - @ApiModelProperty("通知适用人群(0:全部人群)") private String crowds; diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/chatrecord/ChatRecordMapper.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/chatrecord/ChatRecordMapper.java index 26b0b69..484f981 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/chatrecord/ChatRecordMapper.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/chatrecord/ChatRecordMapper.java @@ -25,7 +25,7 @@ public interface ChatRecordMapper { * @param id 图文咨询-聊天记录主键 * @return 图文咨询-聊天记录 */ - public ChatRecord selectChatRecordById(Long id); + ChatRecord selectChatRecordById(Long id); /** * 查询图文咨询-聊天记录列表 @@ -33,7 +33,7 @@ public interface ChatRecordMapper { * @param chatRecord 图文咨询-聊天记录 * @return 图文咨询-聊天记录集合 */ - public List selectChatRecordList(ChatRecord chatRecord); + List selectChatRecordList(ChatRecord chatRecord); /** * 新增图文咨询-聊天记录 @@ -41,7 +41,7 @@ public interface ChatRecordMapper { * @param chatRecord 图文咨询-聊天记录 * @return 结果 */ - public int insertChatRecord(ChatRecord chatRecord); + int insertChatRecord(ChatRecord chatRecord); /** * 修改图文咨询-聊天记录 @@ -49,7 +49,7 @@ public interface ChatRecordMapper { * @param chatRecord 图文咨询-聊天记录 * @return 结果 */ - public int updateChatRecord(ChatRecord chatRecord); + int updateChatRecord(ChatRecord chatRecord); /** * 删除图文咨询-聊天记录 @@ -57,7 +57,7 @@ public interface ChatRecordMapper { * @param id 图文咨询-聊天记录主键 * @return 结果 */ - public int deleteChatRecordById(Long id); + int deleteChatRecordById(Long id); /** * 批量删除图文咨询-聊天记录 @@ -65,10 +65,12 @@ public interface ChatRecordMapper { * @param ids 需要删除的数据主键集合 * @return 结果 */ - public int deleteChatRecordByIds(Long[] ids); + int deleteChatRecordByIds(Long[] ids); Integer updateReadStatus(MarkReadDto markReadDto); + int deleteMegs(@Param("ids") List ids); + /** * @Author mengkuiliang * @Description 查询健康知识推送列表 @@ -104,4 +106,5 @@ public interface ChatRecordMapper { * @return void **/ void updateChatRecordOfNo(ChatRecord entity); + } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/newapp/NewAppLoginMapper.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/newapp/NewAppLoginMapper.java index 9a2319c..7495127 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/newapp/NewAppLoginMapper.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/newapp/NewAppLoginMapper.java @@ -1,5 +1,6 @@ package com.xinelu.applet.mapper.newapp; +import com.xinelu.applet.vo.newapp.LoginStatusVo; import org.apache.ibatis.annotations.Param; public interface NewAppLoginMapper { @@ -10,5 +11,5 @@ public interface NewAppLoginMapper { * @param personPassword * @return */ - int login(@Param("personAccount") String personAccount, @Param("personPassword") String personPassword); + LoginStatusVo login(@Param("personAccount") String personAccount, @Param("personPassword") String personPassword); } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/IChatRecordService.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/IChatRecordService.java index 99bd0fb..dadd924 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/IChatRecordService.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/IChatRecordService.java @@ -26,7 +26,7 @@ public interface IChatRecordService { * @param id 图文咨询-聊天记录主键 * @return 图文咨询-聊天记录 */ - public ChatRecord selectChatRecordById(Long id); + ChatRecord selectChatRecordById(Long id); /** * 查询图文咨询-聊天记录列表 @@ -34,7 +34,7 @@ public interface IChatRecordService { * @param chatRecord 图文咨询-聊天记录 * @return 图文咨询-聊天记录集合 */ - public List selectChatRecordList(ChatRecord chatRecord); + List selectChatRecordList(ChatRecord chatRecord); /** * 新增图文咨询-聊天记录 @@ -42,7 +42,7 @@ public interface IChatRecordService { * @param chatRecordDTO 图文咨询-聊天记录 * @return 结果 */ - public int insertChatRecord(ChatRecordDTO chatRecordDTO); + int insertChatRecord(ChatRecordDTO chatRecordDTO); Boolean sendMessage(ChatRecordDTO chatRecordDTO); @@ -52,7 +52,7 @@ public interface IChatRecordService { * @param chatRecord 图文咨询-聊天记录 * @return 结果 */ - public int updateChatRecord(ChatRecord chatRecord); + int updateChatRecord(ChatRecord chatRecord); /** * 批量删除图文咨询-聊天记录 @@ -60,7 +60,7 @@ public interface IChatRecordService { * @param ids 需要删除的图文咨询-聊天记录主键集合 * @return 结果 */ - public int deleteChatRecordByIds(Long[] ids); + int deleteChatRecordByIds(Long[] ids); /** * 删除图文咨询-聊天记录信息 @@ -68,7 +68,7 @@ public interface IChatRecordService { * @param id 图文咨询-聊天记录主键 * @return 结果 */ - public int deleteChatRecordById(Long id); + int deleteChatRecordById(Long id); /** @@ -77,10 +77,13 @@ public interface IChatRecordService { * @param multipartFile,consultationId 文件,问诊id * @return 结果 */ - public AjaxResult uploadChatRecordFile(MultipartFile multipartFile, Long consultationId) throws IOException, InvalidExtensionException; + AjaxResult uploadChatRecordFile(MultipartFile multipartFile, Long consultationId) throws IOException, InvalidExtensionException; List getMegVoList(MessageSearchDto messageDto); + + Integer deleteMegs(List ids); + /** * @Author mengkuiliang * @Description 查询健康知识推送列表 @@ -116,4 +119,5 @@ public interface IChatRecordService { * @return void **/ void updateChatRecordOfNo(ChatRecord entity); + } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/impl/ChatRecordServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/impl/ChatRecordServiceImpl.java index 99fc7d5..2df83dd 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/impl/ChatRecordServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/chatRecord/impl/ChatRecordServiceImpl.java @@ -10,7 +10,6 @@ import com.xinelu.applet.vo.chatrecord.MessageCenterVo; import com.xinelu.applet.vo.chatrecord.MessageVo; import com.xinelu.common.config.XinELuConfig; import com.xinelu.common.core.domain.AjaxResult; -import com.xinelu.common.core.domain.R; import com.xinelu.common.core.dto.MessageTemplate; import com.xinelu.common.enums.MessageContentType; import com.xinelu.common.exception.ServiceException; @@ -24,6 +23,7 @@ import com.xinelu.common.utils.uuid.IdUtils; import com.xinelu.manage.domain.chatRecord.ChatRecord; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -86,6 +86,9 @@ public class ChatRecordServiceImpl implements IChatRecordService { ChatRecord record = new ChatRecord(); BeanUtils.copyBeanProp(record, chatRecord); record.setMessageNo(IdUtils.fastSimpleUUID()); + record.setReadStatus("0"); + record.setSendTime(new Date()); + record.setDelFlag(0); return chatRecordMapper.insertChatRecord(record); } @@ -97,6 +100,7 @@ public class ChatRecordServiceImpl implements IChatRecordService { msg.setFromKey(chatRecord.getSenderId().toString()); msg.setToKey(chatRecord.getRecipientId().toString()); msg.setMsgType(MessageContentType.CHAT.name()); + msg.setMessageType(chatRecord.getMessageType()); msg.setSendTime(chatRecord.getSendTime()); return WebSocketUtils.sendMessage(chatRecord.getRecipientId().toString(), msg); } @@ -220,6 +224,10 @@ public class ChatRecordServiceImpl implements IChatRecordService { return messageCenterVos; } + @Override public Integer deleteMegs(List ids) { + return chatRecordMapper.deleteMegs(ids); + } + /** * @Author mengkuiliang * @Description 查询健康知识推送列表 @@ -274,4 +282,5 @@ public class ChatRecordServiceImpl implements IChatRecordService { public void updateChatRecordOfNo(ChatRecord entity) { chatRecordMapper.updateChatRecordOfNo(entity); } + } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/newapp/impl/NewAppLoginServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/newapp/impl/NewAppLoginServiceImpl.java index 353cd6c..1574c12 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/newapp/impl/NewAppLoginServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/newapp/impl/NewAppLoginServiceImpl.java @@ -2,9 +2,11 @@ package com.xinelu.applet.service.newapp.impl; import com.xinelu.applet.mapper.newapp.NewAppLoginMapper; import com.xinelu.applet.service.newapp.NewAppLoginService; +import com.xinelu.applet.vo.newapp.LoginStatusVo; import com.xinelu.common.core.domain.AjaxResult; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; @Service public class NewAppLoginServiceImpl implements NewAppLoginService { @@ -20,9 +22,13 @@ public class NewAppLoginServiceImpl implements NewAppLoginService { */ @Override public AjaxResult login(String personAccount, String personPassword) { - int count = newAppLoginMapper.login(personAccount, personPassword); - if (count>0){ - return AjaxResult.success("登录成功!"); + LoginStatusVo loginStatusVo = newAppLoginMapper.login(personAccount, personPassword); + HashMap hashMap = new HashMap<>(); + if (loginStatusVo.getCount()>0){ + hashMap.put("status",loginStatusVo.getStatus()); + hashMap.put("id",loginStatusVo.getId()+""); + hashMap.put("str","登录成功!"); + return AjaxResult.success(hashMap); }else { return AjaxResult.error("账号或密码错误!"); } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/newapp/LoginStatusVo.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/newapp/LoginStatusVo.java new file mode 100644 index 0000000..13eb8a1 --- /dev/null +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/newapp/LoginStatusVo.java @@ -0,0 +1,14 @@ +package com.xinelu.applet.vo.newapp; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class LoginStatusVo implements Serializable { + + private Integer count; + private Integer id; + //1:家医医生 2:泉医医生 3:专病医生 + private String status; + +} diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/nurseapplogin/AppLoginVO.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/nurseapplogin/AppLoginVO.java index ab3ecc5..42b3630 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/nurseapplogin/AppLoginVO.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/vo/nurseapplogin/AppLoginVO.java @@ -13,6 +13,7 @@ import java.io.Serializable; @Data public class AppLoginVO implements Serializable { private static final long serialVersionUID = 1820130502268738492L; + /** * 返回提示信息 */ @@ -42,4 +43,4 @@ public class AppLoginVO implements Serializable { * 用户手机号 */ private String phone; -} +} \ No newline at end of file diff --git a/xinelu-nurse-applet/src/main/resources/mapper/applet/chatrecord/ChatRecordMapper.xml b/xinelu-nurse-applet/src/main/resources/mapper/applet/chatrecord/ChatRecordMapper.xml index f3be419..2659791 100644 --- a/xinelu-nurse-applet/src/main/resources/mapper/applet/chatrecord/ChatRecordMapper.xml +++ b/xinelu-nurse-applet/src/main/resources/mapper/applet/chatrecord/ChatRecordMapper.xml @@ -68,7 +68,7 @@ select from chat_record - where del_flag = '0' and (recipient_id = #{recipientId} or sender_id = #{recipientId}) + where del_flag = 0 and (recipient_id = #{recipientId} or sender_id = #{recipientId}) and message_category = #{messageCategory} @@ -91,7 +91,7 @@ recipient_id, recipient_name from chat_record - where del_flag = '0' + where del_flag = 0 and message_category = '3' and ((sender_id = #{bindingNo} and recipient_id = #{doctorNo}) or (sender_id = #{doctorNo} and recipient_id = #{bindingNo})) @@ -100,7 +100,7 @@ +