1
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package com.yxt.messagecenter;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
|
||||
|
||||
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication(scanBasePackages = {
|
||||
"com.yxt.common.base.config",
|
||||
"com.yxt.messagecenter"
|
||||
})
|
||||
|
||||
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal"})
|
||||
public class MessageCenterApplication
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
SpringApplication.run(MessageCenterApplication.class, args);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.messagecenter.biz.message;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import com.yxt.messagecenter.api.message.Message;
|
||||
import com.yxt.messagecenter.api.message.MessageVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.message.MessageMapper <br/>
|
||||
* Description: 消息体. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageMapper extends BaseMapper<Message> {
|
||||
|
||||
//@Update("update message set name=#{msg} where id=#{id}")
|
||||
//IPage<MessageVo> voPage(IPage<Message> page, @Param(Constants.WRAPPER) QueryWrapper<Message> qw);
|
||||
|
||||
IPage<MessageVo> selectPageVo(IPage<Message> page, @Param(Constants.WRAPPER) Wrapper<Message> qw);
|
||||
|
||||
List<MessageVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<Message> qw);
|
||||
|
||||
@Select("select * from message")
|
||||
List<MessageVo> selectListVo();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?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="com.yxt.messagecenter.biz.message.MessageMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.messagecenter.api.message.MessageVo">
|
||||
SELECT * FROM message <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.message.MessageVo">
|
||||
SELECT * FROM message <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.yxt.messagecenter.biz.message;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.message.*;
|
||||
import com.yxt.messagecenter.api.messagelist.MessageList;
|
||||
import com.yxt.messagecenter.biz.messagelist.MessageListService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.message.MessageRest <br/>
|
||||
* Description: 消息体. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "消息体")
|
||||
@RestController
|
||||
@RequestMapping("v1/message")
|
||||
public class MessageRest implements MessageFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageService messageService;
|
||||
@Autowired
|
||||
MessageListService messageListService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageVo>> listPage(@RequestBody PagerQuery<MessageQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageVo> pv = messageService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
Message m = new Message();
|
||||
dto.fillEntity(m);
|
||||
if (!messageService.save(m)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
if (dto != null && StringUtils.isNotBlank(dto.getReceiveSids())) {
|
||||
if (dto.getReceiveSids().indexOf(",") >= -1) {
|
||||
String[] ReceiveUserSids = dto.getReceiveSids().split(",");
|
||||
String[] receiveUsers = dto.getReceiveNames().split(",");
|
||||
for (int i = 0; ReceiveUserSids.length > i; i++) {
|
||||
MessageList messageList = new MessageList();
|
||||
messageList.setMsgSid(m.getSid());
|
||||
messageList.setReceiverSid(ReceiveUserSids[i]);
|
||||
messageList.setReceiverName(receiveUsers[i]);
|
||||
// messageList.setReceiverDeptName();
|
||||
// messageList.setReceiverDeptSid();
|
||||
messageList.setState(0);
|
||||
messageListService.save(messageList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ResultBean.fireSuccess().setData(m.getSid());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageDto dto, String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageService.updateBySid(dto.toMap(), sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Message> fetchBySid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
Message vo = messageService.fetchBySid(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<MessageVo> messageDtail(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageList ml = messageListService.fetchBySid(sid);
|
||||
if (ml.getState() == 0) {
|
||||
ml.setState(1);
|
||||
messageListService.updateById(ml);//修改状态为已阅;
|
||||
}
|
||||
MessageVo vo = new MessageVo();
|
||||
Message message = messageService.fetchBySid(ml.getMsgSid());
|
||||
vo.fromEntity(message);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean saveOrUpdateAppMessage(AppMessageDto dto) {
|
||||
return messageService.saveOrUpdateAppMessage(dto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
package com.yxt.messagecenter.biz.message;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.message.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.message.MessageService <br/>
|
||||
* Description: 消息体 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
||||
public PagerVo<Message> listPage(PagerQuery<MessageQuery> pq) {
|
||||
MessageQuery query = pq.getParams();
|
||||
QueryWrapper<Message> qw = createQueryWrapper(query);
|
||||
IPage<Message> page = PagerUtil.queryToPage(pq);
|
||||
IPage<Message> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<Message> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
public List<Message> listAll(MessageQuery query) {
|
||||
QueryWrapper<Message> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
private QueryWrapper<Message> createQueryWrapper(MessageQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<Message> qw = new QueryWrapper<>();
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgType())) {
|
||||
qw.eq("msgType", query.getMsgType());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgTitle())) {
|
||||
qw.eq("msgTitle", query.getMsgTitle());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgContent())) {
|
||||
qw.eq("msgContent", query.getMsgContent());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgSource())) {
|
||||
qw.eq("msgSource", query.getMsgSource());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getSenderSid())) {
|
||||
qw.eq("senderSid", query.getSenderSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getSenderName())) {
|
||||
qw.eq("senderName", query.getSenderName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getSenderDeptSid())) {
|
||||
qw.eq("senderDeptSid", query.getSenderDeptSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getSenderDeptName())) {
|
||||
qw.eq("senderDeptName", query.getSenderDeptName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getBusinessSid())) {
|
||||
qw.eq("businessSid", query.getBusinessSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getModuleSid())) {
|
||||
qw.eq("moduleSid", query.getModuleSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getModuleAction())) {
|
||||
qw.eq("moduleAction", query.getModuleAction());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getArgs_json())) {
|
||||
qw.eq("args_json", query.getArgs_json());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getH5_url())) {
|
||||
qw.eq("h5_url", query.getH5_url());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getXcx_url())) {
|
||||
qw.eq("xcx_url", query.getXcx_url());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgTargetUri())) {
|
||||
qw.eq("msgTargetUri", query.getMsgTargetUri());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<MessageVo> listPageVo(PagerQuery<MessageQuery> pq) {
|
||||
MessageQuery query = pq.getParams();
|
||||
QueryWrapper<Message> qw = createQueryWrapper(query);
|
||||
IPage<Message> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<MessageVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<MessageVo> listAllVo(MessageQuery query) {
|
||||
QueryWrapper<Message> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<MessageVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(MessageDto dto){
|
||||
Message entity = new Message();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageVo fetchByIdVo(String id){
|
||||
Message entity = this.fetchById(id);
|
||||
MessageVo vo = new MessageVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机端保存/修改消息体
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
public ResultBean saveOrUpdateAppMessage(AppMessageDto dto) {
|
||||
if (StringUtils.isBlank(dto.getSid())) { // 新增
|
||||
Message message = new Message();
|
||||
dto.fillEntity(message);
|
||||
message.setSid(UUID.randomUUID().toString());
|
||||
Boolean flag = save(message);
|
||||
if (flag) {
|
||||
return new ResultBean().success().setMsg("保存成功").setData(message.getSid());
|
||||
} else {
|
||||
return new ResultBean().fail().setMsg("保存失败");
|
||||
}
|
||||
} else { // 修改
|
||||
Message message = fetchBySid(dto.getSid());
|
||||
BeanUtil.copyProperties(dto, message);
|
||||
Boolean flag = updateById(message);
|
||||
if (flag) {
|
||||
return new ResultBean().success().setMsg("修改成功").setData(message.getSid());
|
||||
} else {
|
||||
return new ResultBean().fail().setMsg("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.messagecenter.biz.messagefile;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFile;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageFileMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagefile.MessageFileMapper <br/>
|
||||
* Description: 消息附件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageFileMapper extends BaseMapper<MessageFile> {
|
||||
|
||||
//@Update("update message_file set name=#{msg} where id=#{id}")
|
||||
//IPage<MessageFileVo> voPage(IPage<MessageFile> page, @Param(Constants.WRAPPER) QueryWrapper<MessageFile> qw);
|
||||
|
||||
IPage<MessageFileVo> selectPageVo(IPage<MessageFile> page, @Param(Constants.WRAPPER) Wrapper<MessageFile> qw);
|
||||
|
||||
List<MessageFileVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<MessageFile> qw);
|
||||
|
||||
@Select("select * from message_file")
|
||||
List<MessageFileVo> selectListVo();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?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="com.yxt.messagecenter.biz.messagefile.MessageFileMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.messagecenter.api.messagefile.MessageFileVo">
|
||||
SELECT * FROM message_file <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messagefile.MessageFileVo">
|
||||
SELECT * FROM message_file <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.yxt.messagecenter.biz.messagefile;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFile;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileQuery;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileVo;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileDto;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileFeign;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageFileFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagefile.MessageFileRest <br/>
|
||||
* Description: 消息附件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "消息附件")
|
||||
@RestController
|
||||
@RequestMapping("v1/messagefile")
|
||||
public class MessageFileRest implements MessageFileFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageFileService messageFileService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageFileVo>> listPage(@RequestBody PagerQuery<MessageFileQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageFileVo> pv = messageFileService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageFileVo>> listAll(@RequestBody MessageFileQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageFileVo> list = messageFileService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageFileVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageFileVo> list = messageFileService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageFileDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageFileService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageFileDto dto,String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageFileService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageFileService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageFileVo> fetch(String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageFileVo vo = messageFileService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageFile> fetchBySid(String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageFile vo = messageFileService.fetchBySid(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.yxt.messagecenter.biz.messagefile;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFile;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileQuery;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileVo;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileDto;
|
||||
import com.yxt.messagecenter.api.messagefile.MessageFileFeign;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageFileService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagefile.MessageFileService <br/>
|
||||
* Description: 消息附件 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageFileService extends MybatisBaseService<MessageFileMapper, MessageFile> {
|
||||
public PagerVo<MessageFile> listPage(PagerQuery<MessageFileQuery> pq) {
|
||||
MessageFileQuery query = pq.getParams();
|
||||
QueryWrapper<MessageFile> qw = createQueryWrapper(query);
|
||||
IPage<MessageFile> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageFile> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<MessageFile> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
public List<MessageFile> listAll(MessageFileQuery query) {
|
||||
QueryWrapper<MessageFile> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
private QueryWrapper<MessageFile> createQueryWrapper(MessageFileQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<MessageFile> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgSid())) {
|
||||
qw.eq("msgSid", query.getMsgSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getFileName())) {
|
||||
qw.eq("fileName", query.getFileName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getFileType())) {
|
||||
qw.eq("fileType", query.getFileType());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getFilePath())) {
|
||||
qw.eq("filePath", query.getFilePath());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getAttachType())) {
|
||||
qw.eq("attachType", query.getAttachType());
|
||||
}
|
||||
|
||||
if (query.getFileSize() != null) {
|
||||
qw.eq("fileSize", query.getFileSize());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<MessageFileVo> listPageVo(PagerQuery<MessageFileQuery> pq) {
|
||||
MessageFileQuery query = pq.getParams();
|
||||
QueryWrapper<MessageFile> qw = createQueryWrapper(query);
|
||||
IPage<MessageFile> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageFileVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<MessageFileVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<MessageFileVo> listAllVo(MessageFileQuery query) {
|
||||
QueryWrapper<MessageFile> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<MessageFileVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(MessageFileDto dto){
|
||||
MessageFile entity = new MessageFile();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageFileVo fetchByIdVo(String id){
|
||||
MessageFile entity = this.fetchById(id);
|
||||
MessageFileVo vo = new MessageFileVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.messagecenter.biz.messageforwardlist;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageForwardlistMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistMapper <br/>
|
||||
* Description: 消息转发记录. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageForwardlistMapper extends BaseMapper<MessageForwardlist> {
|
||||
|
||||
//@Update("update message_forwardlist set name=#{msg} where id=#{id}")
|
||||
//IPage<MessageForwardlistVo> voPage(IPage<MessageForwardlist> page, @Param(Constants.WRAPPER) QueryWrapper<MessageForwardlist> qw);
|
||||
|
||||
IPage<MessageForwardlistVo> selectPageVo(IPage<MessageForwardlist> page, @Param(Constants.WRAPPER) Wrapper<MessageForwardlist> qw);
|
||||
|
||||
List<MessageForwardlistVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<MessageForwardlist> qw);
|
||||
|
||||
@Select("select * from message_forwardlist")
|
||||
List<MessageForwardlistVo> selectListVo();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?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="com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo">
|
||||
SELECT * FROM message_forwardlist <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo">
|
||||
SELECT * FROM message_forwardlist <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.yxt.messagecenter.biz.messageforwardlist;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistQuery;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistDto;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistFeign;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageForwardlistFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistRest <br/>
|
||||
* Description: 消息转发记录. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "消息转发记录")
|
||||
@RestController
|
||||
@RequestMapping("v1/messageforwardlist")
|
||||
public class MessageForwardlistRest implements MessageForwardlistFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageForwardlistService messageForwardlistService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageForwardlistVo>> listPage(@RequestBody PagerQuery<MessageForwardlistQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageForwardlistVo> pv = messageForwardlistService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageForwardlistVo>> listAll(@RequestBody MessageForwardlistQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageForwardlistVo> list = messageForwardlistService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageForwardlistVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageForwardlistVo> list = messageForwardlistService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageForwardlistDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageForwardlistService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageForwardlistDto dto,String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageForwardlistService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageForwardlistService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageForwardlistVo> fetch(String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageForwardlistVo vo = messageForwardlistService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageForwardlist> fetchBySid(String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageForwardlist vo = messageForwardlistService.fetchBySid(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.yxt.messagecenter.biz.messageforwardlist;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistQuery;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistDto;
|
||||
import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistFeign;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageForwardlistService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistService <br/>
|
||||
* Description: 消息转发记录 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageForwardlistService extends MybatisBaseService<MessageForwardlistMapper, MessageForwardlist> {
|
||||
public PagerVo<MessageForwardlist> listPage(PagerQuery<MessageForwardlistQuery> pq) {
|
||||
MessageForwardlistQuery query = pq.getParams();
|
||||
QueryWrapper<MessageForwardlist> qw = createQueryWrapper(query);
|
||||
IPage<MessageForwardlist> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageForwardlist> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<MessageForwardlist> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
public List<MessageForwardlist> listAll(MessageForwardlistQuery query) {
|
||||
QueryWrapper<MessageForwardlist> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
private QueryWrapper<MessageForwardlist> createQueryWrapper(MessageForwardlistQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<MessageForwardlist> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgSid())) {
|
||||
qw.eq("msgSid", query.getMsgSid());
|
||||
}
|
||||
|
||||
if (query.getForwardTime() != null) {
|
||||
qw.ge("forwardTime", query.getForwardTime());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getForwardPerson())) {
|
||||
qw.eq("forwardPerson", query.getForwardPerson());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getForwordMsgSid())) {
|
||||
qw.eq("forwordMsgSid", query.getForwordMsgSid());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<MessageForwardlistVo> listPageVo(PagerQuery<MessageForwardlistQuery> pq) {
|
||||
MessageForwardlistQuery query = pq.getParams();
|
||||
QueryWrapper<MessageForwardlist> qw = createQueryWrapper(query);
|
||||
IPage<MessageForwardlist> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageForwardlistVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<MessageForwardlistVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<MessageForwardlistVo> listAllVo(MessageForwardlistQuery query) {
|
||||
QueryWrapper<MessageForwardlist> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<MessageForwardlistVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(MessageForwardlistDto dto){
|
||||
MessageForwardlist entity = new MessageForwardlist();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageForwardlistVo fetchByIdVo(String id){
|
||||
MessageForwardlist entity = this.fetchById(id);
|
||||
MessageForwardlistVo vo = new MessageForwardlistVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
package com.yxt.messagecenter.biz.messagelist;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.messagecenter.api.messagelist.MessageList;
|
||||
import com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo;
|
||||
import com.yxt.messagecenter.api.messagelist.MessageListVo;
|
||||
import com.yxt.messagecenter.api.messagelist.app.AppLastMsgVo;
|
||||
import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery;
|
||||
import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageListMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagelist.MessageListMapper <br/>
|
||||
* Description: 消息列表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageListMapper extends BaseMapper<MessageList> {
|
||||
|
||||
//@Update("update message_list set name=#{msg} where id=#{id}")
|
||||
//IPage<MessageListVo> voPage(IPage<MessageList> page, @Param(Constants.WRAPPER) QueryWrapper<MessageList> qw);
|
||||
|
||||
IPage<MessageListVo> selectPageVo(IPage<MessageList> page, @Param(Constants.WRAPPER) Wrapper<MessageList> qw);
|
||||
|
||||
List<MessageListJoinMsgVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<MessageList> qw);
|
||||
|
||||
@Select("SELECT * FROM message_list")
|
||||
List<MessageListVo> selectListVo();
|
||||
|
||||
IPage<MessageListJoinMsgVo> noreadListPage(IPage<MessageList> page, @Param(Constants.WRAPPER) QueryWrapper<MessageList> qw);
|
||||
|
||||
IPage<MessageListJoinMsgVo> readListPage(IPage<MessageList> page, @Param(Constants.WRAPPER) QueryWrapper<MessageList> qw);
|
||||
|
||||
int updateByReceiverSid(@Param("receiverSid") String receiverSid);
|
||||
|
||||
int deleteBySids(String sid);
|
||||
|
||||
int changeRead(List<String> sidList);
|
||||
|
||||
int changeUnRead(List<String> sidList);
|
||||
|
||||
/**
|
||||
* @param page
|
||||
* @param qw
|
||||
* @description: 客户端消息分页列表
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 17:42
|
||||
*/
|
||||
IPage<WxMessageListVo> listPage(IPage<WxMessageListQuery> page, @Param(Constants.WRAPPER) QueryWrapper<WxMessageListVo> qw);
|
||||
|
||||
/**
|
||||
* @param msgTypeSid 消息类别sid
|
||||
* @description: 根据消息类别sid查询消息未读的数量
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 16:16
|
||||
*/
|
||||
int selectListCount(String msgTypeSid);
|
||||
|
||||
MessageListJoinMsgVo fetchByMsgSid(String sid);
|
||||
|
||||
Integer fetchByReceiverSid(String receiverSid);
|
||||
|
||||
int selectUnReadCount(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid);
|
||||
|
||||
AppLastMsgVo selectLastMsg(@Param("userSid") String userSid, @Param("msgTypeSid") String msgTypeSid);
|
||||
|
||||
IPage<AppMessageListVo> getAppMsgListByUserSid(IPage<AppMessageListQuery> page, @Param(Constants.WRAPPER) QueryWrapper<MessageList> qw);
|
||||
|
||||
int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid);
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
<?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="com.yxt.messagecenter.biz.messagelist.MessageListMapper">
|
||||
<update id="deleteBySids">
|
||||
update message_list
|
||||
set rDelStatus = 1
|
||||
WHERE sid = #{sid}
|
||||
</update>
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.messagecenter.api.messagelist.MessageListVo">
|
||||
SELECT *
|
||||
FROM message_list
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo">
|
||||
SELECT ml.sid,
|
||||
ml.msgSid,
|
||||
m.msgContent,
|
||||
m.senderName,
|
||||
m.msgTitle,
|
||||
m.createTime,
|
||||
m.msgType,
|
||||
m.msgSource,
|
||||
ml.state
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m
|
||||
ON m.sid = ml.msgSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="noreadListPage" resultType="com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo">
|
||||
SELECT ml.sid,
|
||||
ml.state,
|
||||
ml.msgSid,
|
||||
m.senderName,
|
||||
m.msgTitle,
|
||||
m.createTime,
|
||||
m.msgType,
|
||||
m.msgSource,
|
||||
ml.receiverSid
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m
|
||||
ON m.sid = ml.msgSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
and ml.state = 0
|
||||
and ml.rDelStatus = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="readListPage" resultType="com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo">
|
||||
SELECT ml.sid,
|
||||
ml.state,
|
||||
ml.msgSid,
|
||||
m.senderName,
|
||||
m.msgTitle,
|
||||
m.createTime,
|
||||
m.msgType,
|
||||
m.msgSource,
|
||||
ml.receiverSid
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m
|
||||
ON m.sid = ml.msgSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
and ml.state = 0
|
||||
and ml.rDelStatus = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listPage" resultType="com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo">
|
||||
SELECT ml.sid,<!--消息列表sid-->
|
||||
ml.state,<!--阅读状态-->
|
||||
m.msgTitle,<!--消息标题-->
|
||||
m.msgContent,<!--消息内容-->
|
||||
mt.msgType,<!--消息类别-->
|
||||
mt.crossIconUrl iconImage,<!--消息类别图标-->
|
||||
DATE_FORMAT(m.createTime, '%Y-%m-%d') AS createTime<!--创建时间-->
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m ON m.sid = ml.msgSid
|
||||
left join message_type mt ON mt.sid = m.msgTypeSid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<update id="updateByReceiverSid">
|
||||
update message_list
|
||||
set state=1
|
||||
where receiverSid = #{receiverSid}
|
||||
and state = 0
|
||||
</update>
|
||||
|
||||
<update id="changeRead">
|
||||
update message_list
|
||||
set state=1
|
||||
WHERE sid IN
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and state = 0
|
||||
</update>
|
||||
|
||||
<update id="changeUnRead">
|
||||
update message_list
|
||||
set state=0
|
||||
WHERE sid IN
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and state = 1
|
||||
</update>
|
||||
<!--根据消息类别的sid查询消息未读的数量-->
|
||||
<select id="selectListCount" resultType="int">
|
||||
SELECT count(*)
|
||||
FROM message_list ml
|
||||
left join message m ON m.sid = ml.msgSid
|
||||
WHERE M.msgTypeSid = #{msgTypeSid}
|
||||
AND ML.state = 0
|
||||
</select>
|
||||
|
||||
<select id="fetchByMsgSid" resultType="com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo">
|
||||
SELECT ml.sid,
|
||||
ml.state,
|
||||
ml.msgSid,
|
||||
m.senderName,
|
||||
m.msgTitle,
|
||||
m.createTime,
|
||||
m.msgType,
|
||||
m.msgSource,
|
||||
m.msgContent
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m
|
||||
ON m.sid = ml.msgSid
|
||||
WHERE m.sid = #{sid}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="fetchByReceiverSid" resultType="integer">
|
||||
SELECT COUNT(*)
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m
|
||||
ON m.sid = ml.msgSid
|
||||
<where>
|
||||
ml.state = 0
|
||||
and ml.rDelStatus = 0
|
||||
and ml.receiverSid = #{receiverSid}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!-- 根据消息类型查询未读数量-->
|
||||
<select id="selectUnReadCount" resultType="int">
|
||||
SELECT COUNT(1) FROM message_list ml
|
||||
LEFT JOIN message m ON ml.msgSid=m.sid
|
||||
LEFT JOIN message_type mt ON m.msgTypeSid=mt.sid
|
||||
WHERE mt.identifier='0002' AND ml.state='0' AND ml.receiverSid=#{userSid}
|
||||
<if test="msgTypeSid != null and msgTypeSid !=''">
|
||||
AND mt.sid=#{msgTypeSid}
|
||||
</if>
|
||||
</select>
|
||||
<!--查询最近消息-->
|
||||
<select id="selectLastMsg" resultType="com.yxt.messagecenter.api.messagelist.app.AppLastMsgVo">
|
||||
SELECT DATE_FORMAT(ml.createTime, '%Y-%m-%d') as sendTime,ml.state,m.msgTitle,ml.sid,m.msgContent,m.sid as msgSid
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m ON ml.msgSid=m.sid
|
||||
LEFT JOIN message_type mt ON m.msgTypeSid=mt.sid
|
||||
WHERE ml.receiverSid=#{userSid} AND mt.sid=#{msgTypeSid}
|
||||
ORDER BY ml.id desc LIMIT 1
|
||||
</select>
|
||||
<select id="getAppMsgListByUserSid" resultType="com.yxt.messagecenter.api.messagelist.app.AppMessageListVo">
|
||||
SELECT ml.sid,ml.msgSid,m.app_type as type,m.moduleSid,m.args_json as json,m.msgTitle,m.msgContent,ml.state,
|
||||
DATE_FORMAT(ml.createTime, '%Y-%m-%d') as sendTime,m.msgTargetUri as moduleAction
|
||||
FROM message_list ml
|
||||
LEFT JOIN message m ON ml.msgSid=m.sid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
and ml.rDelStatus = 0
|
||||
</where>
|
||||
ORDER BY ml.id DESC
|
||||
</select>
|
||||
<update id="updateAppReadByType">
|
||||
UPDATE message_list ml,message m set ml.state=1
|
||||
WHERE ml.msgSid=m.sid AND ml.receiverSid=#{userSid} AND m.msgTypeSid=#{msgTypeSid}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,177 @@
|
||||
package com.yxt.messagecenter.biz.messagelist;
|
||||
|
||||
import com.auth0.jwt.JWT;
|
||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||
import com.yxt.common.base.utils.JWTUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.message.Message;
|
||||
import com.yxt.messagecenter.api.messagelist.*;
|
||||
import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery;
|
||||
import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo;
|
||||
import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageListFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagelist.MessageListRest <br/>
|
||||
* Description: 消息列表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "消息列表")
|
||||
@RestController
|
||||
@RequestMapping("v1/messagelist")
|
||||
public class MessageListRest implements MessageListFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageListService messageListService;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest request;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageListJoinMsgVo>> noreadListPage(PagerQuery<MessageListQuery> pq) {
|
||||
//将token解密userSid
|
||||
String token = request.getHeader("token");
|
||||
DecodedJWT decodedJWT = JWT.decode(token);
|
||||
String userSid = JWTUtil.getUserSid(decodedJWT);
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageListJoinMsgVo> pv = messageListService.noreadListPage(pq,userSid);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageListJoinMsgVo>> readListPage(PagerQuery<MessageListQuery> pq) {
|
||||
//将token解密userSid
|
||||
String token = request.getHeader("token");
|
||||
DecodedJWT decodedJWT = JWT.decode(token);
|
||||
String userSid = JWTUtil.getUserSid(decodedJWT);
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageListJoinMsgVo> pv = messageListService.readListPage(pq,userSid);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageListVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageListVo> list = messageListService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageListDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageListService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageListDto dto, String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageListService.updateBySid(dto.toMap(), sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageListService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Message> fetchByMsgSid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageListJoinMsgVo messageListJoinMsgVo = messageListService.fetchByMsgSid(sid);
|
||||
return rb.success().setData(messageListJoinMsgVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean allChangeRead() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
//将token解密userSid
|
||||
String token = request.getHeader("token");
|
||||
DecodedJWT decodedJWT = JWT.decode(token);
|
||||
String receiverSid = JWTUtil.getUserSid(decodedJWT);
|
||||
Integer count = messageListService.fetchByReceiverSid(receiverSid);
|
||||
if (count == 0){
|
||||
return rb.success().setMessage("该用户下暂无未读消息");
|
||||
}else {
|
||||
int num = messageListService.updateByReceiverSid(receiverSid);
|
||||
}
|
||||
return rb.success().setMessage("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageList> changeRead(String sids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<String> sidList = Arrays.asList(sids.split(","));
|
||||
int count = messageListService.changeRead(sidList);
|
||||
return rb.success().setMessage("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageList> changeUnRead(String sids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<String> sidList = Arrays.asList(sids.split(","));
|
||||
int count = messageListService.changeUnRead(sidList);
|
||||
return rb.success().setMessage("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean deleteBySids(String sids) {
|
||||
List<String> sidList = Arrays.asList(sids.split(","));
|
||||
int count = messageListService.deleteBySids(sidList);
|
||||
if (count != 1) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Integer> selectUnReadCount(String msgTypeSid, String userSid) {
|
||||
return new ResultBean<Integer>().success().setData(messageListService.selectUnReadCount(msgTypeSid, userSid));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<AppMsgMainVo> getAppMsgMainList(String userSid) {
|
||||
return new ResultBean<AppMsgMainVo>().success().setData(messageListService.getAppMsgMainList(userSid));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<AppMessageListVo>> getAppMsgListByUserSid(PagerQuery<AppMessageListQuery> pq) {
|
||||
if (StringUtils.isBlank(pq.getParams().getUserSid())) {
|
||||
return new ResultBean().fail().setMsg("用户sid不能为空");
|
||||
}
|
||||
if (StringUtils.isBlank(pq.getParams().getMsgTypeSid())) {
|
||||
return new ResultBean().fail().setMsg("消息类型不能为空");
|
||||
}
|
||||
PagerVo<AppMessageListVo> pagerVo = messageListService.getAppMsgListByUserSid(pq);
|
||||
return new ResultBean<PagerVo<AppMessageListVo>>().success().setData(pagerVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean updateAppReadByType(String msgTypeSid, String userSid) {
|
||||
int i = messageListService.updateAppReadByType(msgTypeSid, userSid);
|
||||
if (i == 0) {
|
||||
return new ResultBean().fail();
|
||||
}
|
||||
return new ResultBean().success();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,332 @@
|
||||
package com.yxt.messagecenter.biz.messagelist;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionFeign;
|
||||
import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionVo;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messagelist.*;
|
||||
import com.yxt.messagecenter.api.messagelist.app.*;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeVo;
|
||||
import com.yxt.messagecenter.biz.message.MessageService;
|
||||
import com.yxt.messagecenter.biz.messagetype.MessageTypeService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageListService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagelist.MessageListService <br/>
|
||||
* Description: 消息列表 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageListService extends MybatisBaseService<MessageListMapper, MessageList> {
|
||||
|
||||
@Autowired
|
||||
private MessageTypeService messageTypeService;
|
||||
@Autowired
|
||||
private MessageService messageService;
|
||||
@Autowired
|
||||
private AppSubsetVersionFeign appSubsetVersionFeign;
|
||||
|
||||
public List<MessageList> listAll(MessageListQuery query) {
|
||||
QueryWrapper<MessageList> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<MessageList> createQueryWrapper(MessageListQuery query) {
|
||||
QueryWrapper<MessageList> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
/* if (StringUtils.isNotBlank(query.getMsgSid())) {
|
||||
qw.eq("ml.msgSid", query.getMsgSid());
|
||||
}*/
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgType())) {
|
||||
qw.like("m.msgType", query.getMsgType());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgSource())) {
|
||||
qw.like("m.msgSource", query.getMsgSource());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgTitle())) {
|
||||
qw.like("m.msgTitle", query.getMsgTitle());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getReceiverSid())) {
|
||||
qw.eq("ml.receiverSid", query.getReceiverSid());
|
||||
}
|
||||
|
||||
/* if (StringUtils.isNotBlank(query.getReceiverName())) {
|
||||
qw.eq("ml.receiverName", query.getReceiverName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getReceiverDeptSid())) {
|
||||
qw.eq("ml.receiverDeptSid", query.getReceiverDeptSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getReceiverDeptName())) {
|
||||
qw.eq("ml.receiverDeptName", query.getReceiverDeptName());
|
||||
}
|
||||
|
||||
if (query.getRDelStatus() != null) {
|
||||
qw.eq("ml.rDelStatus", query.getRDelStatus());
|
||||
}
|
||||
|
||||
if (query.getSDelStatus() != null) {
|
||||
qw.eq("ml.sDelStatus", query.getSDelStatus());
|
||||
}*/
|
||||
|
||||
if (StringUtils.isNotBlank(query.getSenderName())) {
|
||||
qw.like("m.senderName", query.getSenderName());
|
||||
}
|
||||
|
||||
String createDateStart = query.getCreateDateStart();
|
||||
String createDateEnd = query.getCreateDateEnd();
|
||||
|
||||
/* if (StringUtils.isNotBlank(createDateEnd)) {
|
||||
createDateEnd = createDateEnd + (" 23:59:59");
|
||||
}
|
||||
if (StringUtils.isNotBlank(createDateStart) && StringUtils.isNotBlank(createDateEnd)) {
|
||||
qw.between("m.createTime",createDateStart,createDateEnd);
|
||||
}*/
|
||||
qw.apply(StringUtils.isNotEmpty(createDateStart), "date_format (m.createTime,'%Y-%m-%d') >= date_format('" + createDateStart + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotEmpty(createDateEnd), "date_format (m.createTime,'%Y-%m-%d') <= date_format('" + createDateEnd + "','%Y-%m-%d')"
|
||||
);
|
||||
return qw;
|
||||
}
|
||||
|
||||
|
||||
public PagerVo<MessageListVo> listPageVo(PagerQuery<MessageListQuery> pq) {
|
||||
MessageListQuery query = pq.getParams();
|
||||
QueryWrapper<MessageList> qw = createQueryWrapper(query);
|
||||
IPage<MessageList> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageListVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<MessageListVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<MessageListVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(MessageListDto dto) {
|
||||
MessageList entity = new MessageList();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageListVo fetchByIdVo(String id) {
|
||||
MessageList entity = this.fetchById(id);
|
||||
MessageListVo vo = new MessageListVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public PagerVo<MessageListJoinMsgVo> noreadListPage(PagerQuery<MessageListQuery> pq,String userSid) {
|
||||
MessageListQuery query = pq.getParams();
|
||||
query.setReceiverSid(userSid);
|
||||
QueryWrapper<MessageList> qw = createQueryWrapper(query);
|
||||
IPage<MessageList> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageListJoinMsgVo> pagging = baseMapper.noreadListPage(page, qw);
|
||||
PagerVo<MessageListJoinMsgVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public PagerVo<MessageListJoinMsgVo> readListPage(PagerQuery<MessageListQuery> pq,String userSid) {
|
||||
MessageListQuery query = pq.getParams();
|
||||
query.setReceiverSid(userSid);
|
||||
QueryWrapper<MessageList> qw = createQueryWrapper(query);
|
||||
IPage<MessageList> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageListJoinMsgVo> pagging = baseMapper.readListPage(page, qw);
|
||||
PagerVo<MessageListJoinMsgVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public int updateByReceiverSid(String receiverSid) {
|
||||
return baseMapper.updateByReceiverSid(receiverSid);
|
||||
}
|
||||
|
||||
public int deleteBySids(List<String> sidList) {
|
||||
int i = 0;
|
||||
for (String s : sidList) {
|
||||
i = baseMapper.deleteBySids(s);
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
public int changeRead(List<String> sidList) {
|
||||
return baseMapper.changeRead(sidList);
|
||||
}
|
||||
|
||||
public int changeUnRead(List<String> sidList) {
|
||||
return baseMapper.changeUnRead(sidList);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pagerQuery 查询条件
|
||||
* @description: 客户端的消息分页列表
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 17:26
|
||||
*/
|
||||
public IPage<WxMessageListVo> listPage(PagerQuery<WxMessageListQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<WxMessageListQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<WxMessageListVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.listPage(page, qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param query
|
||||
* @description: 构造查询条件
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 17:36
|
||||
*/
|
||||
private QueryWrapper<WxMessageListVo> buildQueryWrapper(WxMessageListQuery query) {
|
||||
QueryWrapper<WxMessageListVo> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getMsgTypeSid())) {
|
||||
qw.eq("m.msgTypeSid", query.getMsgTypeSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getReceiverSid())) {
|
||||
qw.eq("ml.receiverSid", query.getReceiverSid());
|
||||
}
|
||||
qw.eq("mt.identifier", "0001");
|
||||
return qw;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msgTypeSid 消息类别sid
|
||||
* @description: 根据消息类别sid查询
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 16:12
|
||||
*/
|
||||
public int selectListCount(String msgTypeSid) {
|
||||
return baseMapper.selectListCount(msgTypeSid);
|
||||
}
|
||||
|
||||
public MessageListJoinMsgVo fetchByMsgSid(String sid) {
|
||||
MessageList messageList = this.fetchBySid(sid);
|
||||
String msgSid = messageList.getMsgSid();
|
||||
return baseMapper.fetchByMsgSid(msgSid);
|
||||
}
|
||||
|
||||
public Integer fetchByReceiverSid(String receiverSid) {
|
||||
return baseMapper.fetchByReceiverSid(receiverSid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询未读数量
|
||||
* @param msgTypeSid
|
||||
* @param userSid
|
||||
* @return
|
||||
*/
|
||||
public Integer selectUnReadCount(String msgTypeSid, String userSid) {
|
||||
return baseMapper.selectUnReadCount(msgTypeSid, userSid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机端查询消息主页面
|
||||
* @param userSid
|
||||
* @return
|
||||
*/
|
||||
public AppMsgMainVo getAppMsgMainList(String userSid) {
|
||||
AppMsgMainVo vo = new AppMsgMainVo();
|
||||
List<AppCrossIcon> crossIconList = new ArrayList<>();
|
||||
List<AppLongsIcon> longIconList = new ArrayList<>();
|
||||
List<MessageTypeVo> typeList = messageTypeService.selectMsgTypeList("0002");
|
||||
typeList.forEach(messageTypeVo -> {
|
||||
// 未读数量
|
||||
int unReadCount = baseMapper.selectUnReadCount(messageTypeVo.getMsgTypeSid(), userSid);
|
||||
String num = "";
|
||||
if (unReadCount != 0) {
|
||||
num = String.valueOf(unReadCount);
|
||||
}
|
||||
if (StringUtils.isNotBlank(messageTypeVo.getCrossIconUrl())) { // 横排消息
|
||||
AppCrossIcon crossIcon = new AppCrossIcon();
|
||||
crossIcon.setMsgTypeSid(messageTypeVo.getMsgTypeSid());
|
||||
crossIcon.setMsgType(messageTypeVo.getMsgType());
|
||||
crossIcon.setIconUrl(messageTypeVo.getCrossIconUrl());
|
||||
crossIcon.setNum(num);
|
||||
crossIconList.add(crossIcon);
|
||||
} else { // 纵排消息
|
||||
AppLongsIcon longsIcon = new AppLongsIcon();
|
||||
longsIcon.setMsgType(messageTypeVo.getMsgType());
|
||||
longsIcon.setIconUrl(messageTypeVo.getLongIconUrl());
|
||||
AppLastMsgVo lastMsg = baseMapper.selectLastMsg(userSid, messageTypeVo.getMsgTypeSid());
|
||||
longsIcon.setMsgTypeSid(messageTypeVo.getMsgTypeSid());
|
||||
longsIcon.setTitle(lastMsg == null ? "" : lastMsg.getMsgTitle());
|
||||
longsIcon.setContent(lastMsg == null ? "" : lastMsg.getMsgContent());
|
||||
longsIcon.setSendTime(lastMsg == null ? "" : lastMsg.getSendTime());
|
||||
longsIcon.setNum(num);
|
||||
longIconList.add(longsIcon);
|
||||
}
|
||||
});
|
||||
vo.setCrossIconList(crossIconList);
|
||||
vo.setLongIconList(longIconList);
|
||||
int unReadCount = baseMapper.selectUnReadCount("", userSid);
|
||||
if (unReadCount != 0) {
|
||||
vo.setMsgTotal("未读消息"+unReadCount+"条");
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机端查询消息列表
|
||||
* @param pq
|
||||
* @return
|
||||
*/
|
||||
public PagerVo<AppMessageListVo> getAppMsgListByUserSid(PagerQuery<AppMessageListQuery> pq) {
|
||||
QueryWrapper<MessageList> qw = new QueryWrapper<>();
|
||||
qw.eq("ml.receiverSid", pq.getParams().getUserSid());
|
||||
qw.eq("m.msgTypeSid", pq.getParams().getMsgTypeSid());
|
||||
IPage<AppMessageListQuery> iPage = PagerUtil.queryToPage(pq);
|
||||
IPage<AppMessageListVo> page = baseMapper.getAppMsgListByUserSid(iPage, qw);
|
||||
PagerVo<AppMessageListVo> pagerVo = PagerUtil.pageToVo(page, null);
|
||||
pagerVo.getRecords().stream().forEach(vo -> {
|
||||
if (vo.getType().equals("2")) {
|
||||
AppSubsetVersionVo subsetVersionVo = appSubsetVersionFeign.fetchBySid(vo.getModuleSid()).getData();
|
||||
vo.setPath(subsetVersionVo.getUpdateUrl());
|
||||
vo.setModulePluginName(subsetVersionVo.getModulePluginName());
|
||||
if (StringUtils.isNotBlank(subsetVersionVo.getVersionName())) {
|
||||
vo.setModuleVersion(Integer.parseInt(subsetVersionVo.getVersionName()));
|
||||
}
|
||||
}
|
||||
if (StringUtils.isBlank(vo.getJson())) {
|
||||
vo.setJson("{}");
|
||||
}
|
||||
});
|
||||
pagerVo.setMsg("共查询出"+pagerVo.getTotal()+"条消息");
|
||||
return pagerVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机端用户根据消息类型批量设为已读
|
||||
* @param msgTypeSid
|
||||
* @return
|
||||
*/
|
||||
public int updateAppReadByType(String msgTypeSid, String userSid) {
|
||||
return baseMapper.updateAppReadByType(msgTypeSid, userSid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.yxt.messagecenter.biz.messagelist.wx;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListFeign;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery;
|
||||
import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo;
|
||||
import com.yxt.messagecenter.biz.messagelist.MessageListService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/11/1 17:07
|
||||
* @description
|
||||
*/
|
||||
@Api(tags = "客户端消息列表")
|
||||
@RestController
|
||||
@RequestMapping("v1/wx/messagelist")
|
||||
public class WxMessageListRest implements WxMessageListFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageListService messageListService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<WxMessageListVo>> listPage(PagerQuery<WxMessageListQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<WxMessageListVo>> rb = ResultBean.fireFail();
|
||||
IPage<WxMessageListVo> page = messageListService.listPage(pagerQuery);
|
||||
PagerVo<WxMessageListVo> pv = new PagerVo<>();
|
||||
PagerVo<WxMessageListVo> pv1 = PagerUtil.pageToVo(page, pv);
|
||||
return rb.success().setData(pv1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.messagecenter.biz.messageremindrule;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageRemindruleMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleMapper <br/>
|
||||
* Description: 提醒规则. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageRemindruleMapper extends BaseMapper<MessageRemindrule> {
|
||||
|
||||
//@Update("update message_remindrule set name=#{msg} where id=#{id}")
|
||||
//IPage<MessageRemindruleVo> voPage(IPage<MessageRemindrule> page, @Param(Constants.WRAPPER) QueryWrapper<MessageRemindrule> qw);
|
||||
|
||||
IPage<MessageRemindruleVo> selectPageVo(IPage<MessageRemindrule> page, @Param(Constants.WRAPPER) Wrapper<MessageRemindrule> qw);
|
||||
|
||||
List<MessageRemindruleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<MessageRemindrule> qw);
|
||||
|
||||
@Select("select * from message_remindrule")
|
||||
List<MessageRemindruleVo> selectListVo();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?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="com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo">
|
||||
SELECT * FROM message_remindrule <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo">
|
||||
SELECT * FROM message_remindrule <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.yxt.messagecenter.biz.messageremindrule;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleQuery;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleDto;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleFeign;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageRemindruleFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleRest <br/>
|
||||
* Description: 提醒规则. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "提醒规则")
|
||||
@RestController
|
||||
@RequestMapping("v1/messageremindrule")
|
||||
public class MessageRemindruleRest implements MessageRemindruleFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageRemindruleService messageRemindruleService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageRemindruleVo>> listPage(@RequestBody PagerQuery<MessageRemindruleQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageRemindruleVo> pv = messageRemindruleService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageRemindruleVo>> listAll(@RequestBody MessageRemindruleQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageRemindruleVo> list = messageRemindruleService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageRemindruleVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageRemindruleVo> list = messageRemindruleService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageRemindruleDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageRemindruleService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageRemindruleDto dto,String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageRemindruleService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageRemindruleService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageRemindruleVo> fetch(String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageRemindruleVo vo = messageRemindruleService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageRemindrule> fetchBySid(String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageRemindrule vo = messageRemindruleService.fetchBySid(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.yxt.messagecenter.biz.messageremindrule;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleQuery;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleDto;
|
||||
import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleFeign;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageRemindruleService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleService <br/>
|
||||
* Description: 提醒规则 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageRemindruleService extends MybatisBaseService<MessageRemindruleMapper, MessageRemindrule> {
|
||||
public PagerVo<MessageRemindrule> listPage(PagerQuery<MessageRemindruleQuery> pq) {
|
||||
MessageRemindruleQuery query = pq.getParams();
|
||||
QueryWrapper<MessageRemindrule> qw = createQueryWrapper(query);
|
||||
IPage<MessageRemindrule> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageRemindrule> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<MessageRemindrule> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
public List<MessageRemindrule> listAll(MessageRemindruleQuery query) {
|
||||
QueryWrapper<MessageRemindrule> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
private QueryWrapper<MessageRemindrule> createQueryWrapper(MessageRemindruleQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<MessageRemindrule> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getRuleCode())) {
|
||||
qw.eq("ruleCode", query.getRuleCode());
|
||||
}
|
||||
|
||||
if (query.getRules() != null) {
|
||||
qw.eq("rules", query.getRules());
|
||||
}
|
||||
|
||||
if (query.getRemindWay() != null) {
|
||||
qw.eq("remindWay", query.getRemindWay());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<MessageRemindruleVo> listPageVo(PagerQuery<MessageRemindruleQuery> pq) {
|
||||
MessageRemindruleQuery query = pq.getParams();
|
||||
QueryWrapper<MessageRemindrule> qw = createQueryWrapper(query);
|
||||
IPage<MessageRemindrule> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageRemindruleVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<MessageRemindruleVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<MessageRemindruleVo> listAllVo(MessageRemindruleQuery query) {
|
||||
QueryWrapper<MessageRemindrule> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<MessageRemindruleVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(MessageRemindruleDto dto){
|
||||
MessageRemindrule entity = new MessageRemindrule();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageRemindruleVo fetchByIdVo(String id){
|
||||
MessageRemindrule entity = this.fetchById(id);
|
||||
MessageRemindruleVo vo = new MessageRemindruleVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.messagecenter.biz.messagereply;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReply;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageReplyMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagereply.MessageReplyMapper <br/>
|
||||
* Description: 消息回复. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageReplyMapper extends BaseMapper<MessageReply> {
|
||||
|
||||
//@Update("update message_reply set name=#{msg} where id=#{id}")
|
||||
//IPage<MessageReplyVo> voPage(IPage<MessageReply> page, @Param(Constants.WRAPPER) QueryWrapper<MessageReply> qw);
|
||||
|
||||
IPage<MessageReplyVo> selectPageVo(IPage<MessageReply> page, @Param(Constants.WRAPPER) Wrapper<MessageReply> qw);
|
||||
|
||||
List<MessageReplyVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<MessageReply> qw);
|
||||
|
||||
@Select("select * from message_reply")
|
||||
List<MessageReplyVo> selectListVo();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?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="com.yxt.messagecenter.biz.messagereply.MessageReplyMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.messagecenter.api.messagereply.MessageReplyVo">
|
||||
SELECT * FROM message_reply <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messagereply.MessageReplyVo">
|
||||
SELECT * FROM message_reply <where> ${ew.sqlSegment} </where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.yxt.messagecenter.biz.messagereply;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReply;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyQuery;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyVo;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyDto;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyFeign;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageReplyFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagereply.MessageReplyRest <br/>
|
||||
* Description: 消息回复. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "消息回复")
|
||||
@RestController
|
||||
@RequestMapping("v1/messagereply")
|
||||
public class MessageReplyRest implements MessageReplyFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageReplyService messageReplyService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageReplyVo>> listPage(@RequestBody PagerQuery<MessageReplyQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<MessageReplyVo> pv = messageReplyService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageReplyVo>> listAll(@RequestBody MessageReplyQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageReplyVo> list = messageReplyService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageReplyVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<MessageReplyVo> list = messageReplyService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageReplyDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageReplyService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageReplyDto dto,String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageReplyService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageReplyService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageReplyVo> fetch(String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageReplyVo vo = messageReplyService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<MessageReply> fetchBySid(String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
MessageReply vo = messageReplyService.fetchBySid(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.yxt.messagecenter.biz.messagereply;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReply;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyQuery;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyVo;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyDto;
|
||||
import com.yxt.messagecenter.api.messagereply.MessageReplyFeign;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageReplyService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagereply.MessageReplyService <br/>
|
||||
* Description: 消息回复 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-10-28 10:20:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageReplyService extends MybatisBaseService<MessageReplyMapper, MessageReply> {
|
||||
public PagerVo<MessageReply> listPage(PagerQuery<MessageReplyQuery> pq) {
|
||||
MessageReplyQuery query = pq.getParams();
|
||||
QueryWrapper<MessageReply> qw = createQueryWrapper(query);
|
||||
IPage<MessageReply> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageReply> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<MessageReply> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
public List<MessageReply> listAll(MessageReplyQuery query) {
|
||||
QueryWrapper<MessageReply> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
private QueryWrapper<MessageReply> createQueryWrapper(MessageReplyQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<MessageReply> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMsgSid())) {
|
||||
qw.eq("msgSid", query.getMsgSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getReplyConent())) {
|
||||
qw.eq("replyConent", query.getReplyConent());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getReplyPersonName())) {
|
||||
qw.eq("replyPersonName", query.getReplyPersonName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getReplyUserSid())) {
|
||||
qw.eq("replyUserSid", query.getReplyUserSid());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<MessageReplyVo> listPageVo(PagerQuery<MessageReplyQuery> pq) {
|
||||
MessageReplyQuery query = pq.getParams();
|
||||
QueryWrapper<MessageReply> qw = createQueryWrapper(query);
|
||||
IPage<MessageReply> page = PagerUtil.queryToPage(pq);
|
||||
IPage<MessageReplyVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<MessageReplyVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<MessageReplyVo> listAllVo(MessageReplyQuery query) {
|
||||
QueryWrapper<MessageReply> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<MessageReplyVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(MessageReplyDto dto){
|
||||
MessageReply entity = new MessageReply();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageReplyVo fetchByIdVo(String id){
|
||||
MessageReply entity = this.fetchById(id);
|
||||
MessageReplyVo vo = new MessageReplyVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.yxt.messagecenter.biz.messagetype;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageType;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageTypeMapper.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagetype.MessageTypeMapper <br/>
|
||||
* Description: 消息类别. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-11-01 15:25:56 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MessageTypeMapper extends BaseMapper<MessageType> {
|
||||
/**
|
||||
* @param identifier 消息标识:0001为小程序、0002为app
|
||||
* @description: 获取消息类别的列表
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 15:45
|
||||
*/
|
||||
List<MessageTypeVo> selectMsgTypeList(String identifier);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?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="com.yxt.messagecenter.biz.messagetype.MessageTypeMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<!--获取消息类别的列表-->
|
||||
<select id="selectMsgTypeList" resultType="com.yxt.messagecenter.api.messagetype.MessageTypeVo">
|
||||
SELECT mt.sid msgTypeSid,<!--消息类别sid-->
|
||||
mt.msgType,
|
||||
mt.crossIconUrl,<!--横排图标地址-->
|
||||
mt.longIconUrl,<!--纵排图标地址-->
|
||||
mt.sort<!--排序-->
|
||||
FROM message_type mt
|
||||
<where>
|
||||
<if test="identifier != null and identifier !=''">
|
||||
identifier=#{identifier}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.yxt.messagecenter.biz.messagetype;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeDto;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeFeign;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeVo;
|
||||
import com.yxt.messagecenter.biz.messagelist.MessageListService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageTypeFeignFallback.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagetype.MessageTypeRest <br/>
|
||||
* Description: 消息类别. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-11-01 15:25:56 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "消息类别")
|
||||
@RestController
|
||||
@RequestMapping("v1/messagetype")
|
||||
public class MessageTypeRest implements MessageTypeFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageTypeService messageTypeService;
|
||||
@Autowired
|
||||
private MessageListService messageListService;
|
||||
|
||||
@Override
|
||||
public ResultBean save(MessageTypeDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageTypeService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(MessageTypeDto dto, String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageTypeService.updateBySid(dto.toMap(), sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
messageTypeService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageTypeVo>> selectList() {
|
||||
String identifier = "0001";
|
||||
|
||||
List<MessageTypeVo> messageWxTypeVoList = messageTypeService.selectMsgTypeList(identifier);
|
||||
return new ResultBean<List<MessageTypeVo>>().success().setData(messageWxTypeVoList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<MessageTypeVo>> selectAppMsgTypeList(String identifier) {
|
||||
List<MessageTypeVo> messageWxTypeVoList = messageTypeService.selectMsgTypeList(identifier);
|
||||
return new ResultBean<List<MessageTypeVo>>().success().setData(messageWxTypeVoList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.yxt.messagecenter.biz.messagetype;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageType;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeDto;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageTypeVo;
|
||||
import com.yxt.messagecenter.biz.messagelist.MessageListService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: message-center(消息中心) <br/>
|
||||
* File: MessageTypeService.java <br/>
|
||||
* Class: com.yxt.messagecenter.biz.messagetype.MessageTypeService <br/>
|
||||
* Description: 消息类别 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-11-01 15:25:56 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class MessageTypeService extends MybatisBaseService<MessageTypeMapper, MessageType> {
|
||||
|
||||
@Autowired
|
||||
private MessageListService messageListService;
|
||||
|
||||
public void saveOrUpdateDto(MessageTypeDto dto) {
|
||||
MessageType entity = new MessageType();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public MessageTypeVo fetchByIdVo(String id) {
|
||||
MessageType entity = this.fetchById(id);
|
||||
MessageTypeVo vo = new MessageTypeVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param identifier 消息标识:0001为小程序、0002为app
|
||||
* @description: 获取消息类别的列表
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/11/1 15:46
|
||||
*/
|
||||
public List<MessageTypeVo> selectMsgTypeList(String identifier) {
|
||||
List<MessageTypeVo> messageWxTypeVoList = baseMapper.selectMsgTypeList(identifier);
|
||||
for (MessageTypeVo msgType : messageWxTypeVoList) {
|
||||
boolean isHave = false;
|
||||
String msgTypeSid = msgType.getMsgTypeSid();
|
||||
//查询该消息类别下是否包含未读的消息
|
||||
int count = messageListService.selectListCount(msgTypeSid);
|
||||
if (count > 0) {
|
||||
isHave = true;
|
||||
msgType.setIsHave(isHave);
|
||||
}else{
|
||||
msgType.setIsHave(isHave);
|
||||
}
|
||||
}
|
||||
return messageWxTypeVoList;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
/*********************************************************
|
||||
*********************************************************
|
||||
******************** *******************
|
||||
************* ************
|
||||
******* _oo0oo_ *******
|
||||
*** o8888888o ***
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* 0\ = /0 *
|
||||
* ___/`---'\___ *
|
||||
* .' \\| |// '. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* | | \\\ - /// | | *
|
||||
* | \_| ''\---/'' |_/ | *
|
||||
* \ .-\__ '-' ___/-. / *
|
||||
* ___'. .' /--.--\ `. .'___ *
|
||||
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||
* `=---=' *
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||
*********************************************************/
|
||||
package com.yxt.messagecenter.conf;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import springfox.documentation.builders.ApiInfoBuilder;
|
||||
import springfox.documentation.builders.PathSelectors;
|
||||
import springfox.documentation.builders.RequestHandlerSelectors;
|
||||
import springfox.documentation.service.ApiInfo;
|
||||
import springfox.documentation.spi.DocumentationType;
|
||||
import springfox.documentation.spring.web.plugins.Docket;
|
||||
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||
|
||||
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
|
||||
|
||||
/**
|
||||
* Project: jlcyry <br/>
|
||||
* File: Swagger2Config.java <br/>
|
||||
* Class: com.yxt.jlzx.jlcyry.conf.Swagger2Config <br/>
|
||||
* Description: <描述类的功能>. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2020/8/25 23:27 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@EnableSwagger2
|
||||
@EnableKnife4j
|
||||
public class Swagger2Config {
|
||||
@Bean
|
||||
public Docket createRestApi() {
|
||||
return new Docket(DocumentationType.SWAGGER_2)
|
||||
.apiInfo(apiInfo()).select()
|
||||
.apis(RequestHandlerSelectors.basePackage("com.yxt"))
|
||||
.paths(PathSelectors.any()).build();
|
||||
}
|
||||
|
||||
private ApiInfo apiInfo() {
|
||||
return new ApiInfoBuilder().title("消息中心").description("消息中心").version("1.0")
|
||||
.build();
|
||||
}
|
||||
}
|
||||
34
message-center-biz/src/main/resources/application-dev.yml
Normal file
34
message-center-biz/src/main/resources/application-dev.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
spring:
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/message-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=GMT%2B8&failOverReadOnly=false
|
||||
username: root
|
||||
password: root
|
||||
redis:
|
||||
database: 2 # Redis数据库索引(默认为0)
|
||||
host: 127.0.0.1
|
||||
jedis:
|
||||
pool:
|
||||
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
|
||||
max-idle: 8 #连接池中的最大空闲连接
|
||||
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
min-idle: 0 # 连接池中的最小空闲连接
|
||||
password:
|
||||
port: 6379
|
||||
timeout: 0 # 连接超时时间(毫秒)
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
|
||||
# 日志配置
|
||||
logging:
|
||||
level:
|
||||
com.yxt: debug
|
||||
org.mybatis: debug
|
||||
org.springframework: warn
|
||||
|
||||
image:
|
||||
upload:
|
||||
path: D:\\anrui\\upload\\
|
||||
url:
|
||||
prefix: http://127.0.0.1:8111/upload/
|
||||
29
message-center-biz/src/main/resources/application-pro.yml
Normal file
29
message-center-biz/src/main/resources/application-pro.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
spring:
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://120.46.131.15:3306/message_center?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: anrui_@root
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
redis:
|
||||
database: 3 # Redis数据库索引(默认为0)
|
||||
host: 127.0.0.1
|
||||
jedis:
|
||||
pool:
|
||||
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
|
||||
max-idle: 8 #连接池中的最大空闲连接
|
||||
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
min-idle: 0 # 连接池中的最小空闲连接
|
||||
password: 123456
|
||||
port: 6379
|
||||
timeout: 0 # 连接超时时间(毫秒)
|
||||
|
||||
image:
|
||||
upload:
|
||||
path: D:\anrui\upload\
|
||||
url:
|
||||
prefix: http://120.46.131.15:8111/upload/
|
||||
|
||||
13
message-center-biz/src/main/resources/application-test.yml
Normal file
13
message-center-biz/src/main/resources/application-test.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
spring:
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/message-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=GMT%2B8&failOverReadOnly=false
|
||||
username: root
|
||||
password: root
|
||||
|
||||
# 日志配置
|
||||
logging:
|
||||
level:
|
||||
com.yxt: debug
|
||||
org.mybatis: debug
|
||||
org.springframework: warn
|
||||
48
message-center-biz/src/main/resources/application.yml
Normal file
48
message-center-biz/src/main/resources/application.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
spring:
|
||||
application:
|
||||
name: message-center
|
||||
profiles:
|
||||
active: pro
|
||||
# 资源信息
|
||||
messages:
|
||||
# 国际化资源文件路径
|
||||
basename: i18n/messages
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 50MB
|
||||
max-request-size: 100MB
|
||||
output:
|
||||
ansi:
|
||||
enabled: ALWAYS
|
||||
|
||||
server:
|
||||
port: 8107
|
||||
|
||||
#mybatis
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath*:**Mapper.xml
|
||||
global-config:
|
||||
refresh: true
|
||||
db-config:
|
||||
id-type: Auto
|
||||
db-type: mysql
|
||||
configuration:
|
||||
map-underscore-to-camel-case: false
|
||||
cache-enabled: true
|
||||
call-setters-on-nulls: true
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
|
||||
#hystrix的超时时间
|
||||
hystrix:
|
||||
command:
|
||||
default:
|
||||
execution:
|
||||
timeout:
|
||||
enabled: true
|
||||
isolation:
|
||||
thread:
|
||||
timeoutInMilliseconds: 30000
|
||||
#ribbon的超时时间
|
||||
ribbon:
|
||||
ReadTimeout: 30000
|
||||
ConnectTimeout: 30000
|
||||
50
message-center-biz/src/main/resources/logback-spring.xml
Normal file
50
message-center-biz/src/main/resources/logback-spring.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
|
||||
<property name="log.base" value="logs/messagecenter" />
|
||||
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|
||||
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
|
||||
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
|
||||
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
|
||||
</pattern>
|
||||
<!--<charset>UTF-8</charset> -->
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 彩色日志 -->
|
||||
<!-- 彩色日志依赖的渲染类 -->
|
||||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
|
||||
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
|
||||
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
|
||||
<!-- 彩色日志格式 -->
|
||||
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
|
||||
|
||||
<appender name="FILEOUT"
|
||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.base}.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
|
||||
</fileNamePattern>
|
||||
<!-- 当文件大小超过10MB时触发滚动 -->
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>1MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
|
||||
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
|
||||
-%msg%n</Pattern>
|
||||
<!--<charset>UTF-8</charset> -->
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
<appender-ref ref="FILEOUT" />
|
||||
</root>
|
||||
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user