Quellcode durchsuchen

Merge branch 'dev' of zengmengkang/wlyy2.0 into dev

trick9191 vor 5 Jahren
Ursprung
Commit
3fbc217e7f

+ 21 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/message/dao/SystemMessageDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.hospital.message.dao;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/13
 */
public interface SystemMessageDao extends PagingAndSortingRepository<SystemMessageDO, String>, JpaSpecificationExecutor<SystemMessageDO> {
    @Query("from SystemMessageDO p where p.id = ?1")
    SystemMessageDO queryById(String id);
}

+ 65 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/SystemMessageService.java

@ -0,0 +1,65 @@
package com.yihu.jw.hospital.message.service;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.utils.EntityUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.UUID;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/13
 */
@Service
public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemMessageDao> {
    @Autowired
    private SystemMessageDao systemMessageDao;
    /**
     * 保存/更新线上就诊消息
     * @param jsonData
     * @return
     */
    public SystemMessageDO saveMessage(String jsonData) throws Exception{
        SystemMessageDO systemMessageDO = EntityUtils.jsonToEntity(jsonData, SystemMessageDO.class);
        if (null == systemMessageDO.getId()) {
            // 新增
            systemMessageDO.setId(UUID.randomUUID().toString().replace("-", ""));
            systemMessageDO.setRead("0");
            systemMessageDO.setDel("1");
            systemMessageDO.setCreateTime(new Date());
            systemMessageDO = systemMessageDao.save(systemMessageDO);
            return systemMessageDO;
        } else {
            SystemMessageDO oldSystemMessageDo = systemMessageDao.findOne(systemMessageDO.getId());
            oldSystemMessageDo.setRead("1");
            oldSystemMessageDo.setReadTime(new Date());
            oldSystemMessageDo = systemMessageDao.save(oldSystemMessageDo);
            return  oldSystemMessageDo;
        }
    }
    /**
     * 根据id查询消息详情
     * @param id
     * @return
     * @throws Exception
     */
    public  SystemMessageDO queryById(String id) throws Exception{
        SystemMessageDO systemMessageDO = systemMessageDao.queryById(id);
        return systemMessageDO;
    }
}

+ 166 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/message/SystemMessageDO.java

@ -0,0 +1,166 @@
package com.yihu.jw.entity.hospital.message;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/13
 */
@Entity
@Table(name = "base_system_message")
public class SystemMessageDO extends UuidIdentityEntity {
    /**
     *消息类型
     */
    private String type;
    /**
     *消息标题
     */
    private String title;
    /**
     *消息发送者
     */
    private String sender;
    /**
     *发送者名称
     */
    private String senderName;
    /**
     *消息接收者
     */
    private String receiver;
    /**
     *接收者名称
     */
    private String receiverName;
    /**
     *业务关联code
     */
    private String relationCode;
    /**
     *拓展json字段
     */
    private String data;
    /**
     *是否已读
     */
    private String read;
    /**
     *是否删除
     */
    private String del;
    /**
     *已读时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date readTime;
    /**
     *创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date createTime;
    @Column(name = "type")
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    @Column(name = "title")
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    @Column(name = "sender")
    public String getSender() {
        return sender;
    }
    public void setSender(String sender) {
        this.sender = sender;
    }
    @Column(name = "sender_name")
    public String getSenderName() {
        return senderName;
    }
    public void setSenderName(String senderName) {
        this.senderName = senderName;
    }
    @Column(name = "receiver")
    public String getReceiver() {
        return receiver;
    }
    public void setReceiver(String receiver) {
        this.receiver = receiver;
    }
    @Column(name = "receiver_name")
    public String getReceiverName() {
        return receiverName;
    }
    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }
    @Column(name = "relation_code")
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    @Column(name = "data")
    public String getData() {
        return data;
    }
    public void setData(String data) {
        this.data = data;
    }
    @Column(name = "read")
    public String getRead() {
        return read;
    }
    public void setRead(String read) {
        this.read = read;
    }
    @Column(name = "del")
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
    @Column(name = "read_time")
    public Date getReadTime() {
        return readTime;
    }
    public void setReadTime(Date readTime) {
        this.readTime = readTime;
    }
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 97 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/message/SystemMessageController.java

@ -0,0 +1,97 @@
package com.yihu.jw.hospital.endpoint.message;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/18
 */
@RestController
@RequestMapping(value ="/message")
@Api(value = "线上就诊消息管理器", description = "线上就诊消息管理器", tags = {"互联网医院 - 线上就诊消息管理器接口"})
public class SystemMessageController extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(SystemMessageController.class);
    @Autowired
    private SystemMessageService systemMessageService;
    @PostMapping(value="/saveMessage")
    @ApiOperation("保存/更新线上就诊消息")
    public Envelop saveMessage(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData){
        try {
            SystemMessageDO systemMessageDO = systemMessageService.saveMessage(jsonData);
            if (null == systemMessageDO){
                return failed("操作失败");
            }
            return success("操作成功");
        }catch (Exception e){
            return failed("操作失败,"+e.getMessage());
        }
    }
    @GetMapping(value ="/searchMessagePageList")
    @ApiOperation(value = "获取线上就诊消息列表")
    public Envelop searchMessagePageList(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
            @RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
            @ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
        try {
            if(StringUtils.isBlank(filters)){
                filters="del=1";
            }else{
                filters=filters+";del=1";
            }
            List<SystemMessageDO> list  = systemMessageService.search(fields,filters,sorts,page,pageSize);
            int count = (int) systemMessageService.getCount(filters);
            return success(list, count, page, pageSize, SystemMessageDO.class);
        }catch (Exception e){
            return failed("获取失败,"+e.getMessage());
        }
    }
    @GetMapping(value ="/queryById")
    @ApiOperation(value = "获取线上就诊消息详情")
    public Envelop queryById(
            @ApiParam(name = "Id", value = "Id", required = true)
            @RequestParam(value = "Id", required = true)String id){
        try {
            SystemMessageDO systemMessageDO = systemMessageService.queryById(id);
            if (null == systemMessageDO){
                return failed("获取失败,线上就诊消息不存在");
            }
            return success("获取成功",200,systemMessageDO);
        }catch (Exception e){
            return failed("获取失败,"+e.getMessage());
        }
    }
}