From 771397a12e4ce6bb874697bfd45852c7734e4a8f Mon Sep 17 00:00:00 2001 From: zhangchao Date: Tue, 30 Jul 2024 10:29:33 +0800 Subject: [PATCH] =?UTF-8?q?#fix:=E6=96=B0=E5=A2=9E=E5=84=BF=E4=BF=9D?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E5=8F=8D=E9=A6=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/biz/dal/FeedbackDao.java | 17 +++ .../platform/biz/dal/impl/FeedbackDaoImpl.java | 32 +++++ .../lyms/platform/biz/service/FeedbackService.java | 44 +++++++ .../com/lyms/platform/pojo/BabyFeedbackModel.java | 114 ++++++++++++++++ .../com/lyms/platform/query/BabyModelQuery.java | 29 +++++ .../com/lyms/platform/query/FeedbackQuery.java | 144 +++++++++++++++++++++ .../operate/web/controller/FeedbackController.java | 68 ++++++++++ .../platform/operate/web/facade/BabyMsgFacade.java | 3 +- .../operate/web/facade/FeedbackFacade.java | 80 ++++++++++++ 9 files changed, 530 insertions(+), 1 deletion(-) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/FeedbackDao.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/FeedbackDaoImpl.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/FeedbackService.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/BabyFeedbackModel.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/FeedbackQuery.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FeedbackController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FeedbackFacade.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/FeedbackDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/FeedbackDao.java new file mode 100644 index 0000000..dd1dcf4 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/FeedbackDao.java @@ -0,0 +1,17 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.BabyFeedbackModel; + +import java.util.List; + +public interface FeedbackDao { + public int queryListCount(MongoQuery mongoQuery); + + public List queryList(MongoQuery query); + + public void add(BabyFeedbackModel model); + + public void update(MongoQuery mongoQuery, BabyFeedbackModel model); + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/FeedbackDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/FeedbackDaoImpl.java new file mode 100644 index 0000000..978473f --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/FeedbackDaoImpl.java @@ -0,0 +1,32 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.FeedbackDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.BabyFeedbackModel; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository("feedbackDao") +public class FeedbackDaoImpl extends BaseMongoDAOImpl implements FeedbackDao { + @Override + public int queryListCount(MongoQuery mongoQuery) { + return (int)count(mongoQuery.convertToMongoQuery()); + } + + @Override + public List queryList(MongoQuery query) { + return find(query.convertToMongoQuery()); + } + + @Override + public void add(BabyFeedbackModel model) { + save(model); + } + + @Override + public void update(MongoQuery mongoQuery, BabyFeedbackModel model) { + update(mongoQuery.convertToMongoQuery(),model); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/FeedbackService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/FeedbackService.java new file mode 100644 index 0000000..7279d7e --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/FeedbackService.java @@ -0,0 +1,44 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.FeedbackDao; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.utils.MongoConvertHelper; +import com.lyms.platform.common.utils.ReflectionUtils; +import com.lyms.platform.pojo.BabyFeedbackModel; +import com.lyms.platform.pojo.BabyMsgModel; +import com.lyms.platform.pojo.BabyMsgModelRecord; +import com.lyms.platform.query.FeedbackQuery; +import com.lyms.platform.query.MsgQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class FeedbackService { + @Autowired + private FeedbackDao feedbackDao; + + public List queryList(FeedbackQuery msgQuery) { + MongoQuery query = msgQuery.convertToQuery(); + if (StringUtils.isNotEmpty(msgQuery.getNeed())) { + msgQuery.mysqlBuild(feedbackDao.queryListCount(msgQuery.convertToQuery())); + query.start(msgQuery.getOffset()).end(msgQuery.getLimit()); + } + return feedbackDao.queryList(query.addOrder(Sort.Direction.DESC, "id")); + } + + + public void add(BabyFeedbackModel model) { + feedbackDao.add(model); + } + + + public void update(BabyFeedbackModel model) { + feedbackDao.update(new MongoQuery(new MongoCondition("id", model.getId(), MongoOper.IS)), model); + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyFeedbackModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyFeedbackModel.java new file mode 100644 index 0000000..2fd5965 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyFeedbackModel.java @@ -0,0 +1,114 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +@Document(collection="lyms_baby_feedback") +public class BabyFeedbackModel extends BaseModel { + private static final long serialVersionUID = -1; + + //消息id + private String id; + //意见内容 + private String content; + //反馈人id + private String publishId; + //反馈人名称 + private String publishName; + //1.有效 2.无效 + private Integer yn; + //最后修改时间 + + private Date modified; + //创建时间 + private Date created; + + private String hospitalId; + + //1无法正常使用、2内容意见、3其他反馈 + private Integer type; + + //回复内容 + private String callBack; + + public String getCallBack() { + return callBack; + } + + public void setCallBack(String callBack) { + this.callBack = callBack; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getPublishId() { + return publishId; + } + + public void setPublishId(String publishId) { + this.publishId = publishId; + } + + public String getPublishName() { + return publishName; + } + + public void setPublishName(String publishName) { + this.publishName = publishName; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Integer getType() { + return type; + } + public void setType(Integer type) { + this.type = type; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 154a4a5..758ded8 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -266,8 +266,28 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private Integer serviceType; + private Integer serviceTypeNe; + + private Integer serviceStatusNe; + private Boolean serviceTypeIsExist; + public Integer getServiceTypeNe() { + return serviceTypeNe; + } + + public void setServiceTypeNe(Integer serviceTypeNe) { + this.serviceTypeNe = serviceTypeNe; + } + + public Integer getServiceStatusNe() { + return serviceStatusNe; + } + + public void setServiceStatusNe(Integer serviceStatusNe) { + this.serviceStatusNe = serviceStatusNe; + } + public Boolean getServiceTypeIsExist() { return serviceTypeIsExist; } @@ -2168,6 +2188,15 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != sieveStatus && !"0".equals(sieveStatus)) { condition = condition.and("sieveStatus", sieveStatus, MongoOper.IS); } + + if (null != serviceStatusNe ) { + condition = condition.and("serviceStatus", serviceStatusNe, MongoOper.NE); + } + + if (null != serviceTypeNe ) { + condition = condition.and("serviceType", serviceTypeNe, MongoOper.NE); + } + if (null != sieveStatusList) { condition = condition.and("sieveStatus", sieveStatusList, MongoOper.NIN); } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/FeedbackQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/FeedbackQuery.java new file mode 100644 index 0000000..beee319 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/FeedbackQuery.java @@ -0,0 +1,144 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNativeQuery; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.Date; + +public class FeedbackQuery extends BaseQuery implements IConvertToNativeQuery { + + private String id; + //反馈人id + private String publishId; + //反馈人名称 + private String publishName; + //1.有效 2.无效 + private Integer yn; + //创建时间 + private Date created; + + private Date createdStart; + + private Date createdEnd; + + private String hospitalId; + //1无法正常使用、2内容意见、3其他反馈 + private Integer type; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getPublishId() { + return publishId; + } + + public void setPublishId(String publishId) { + this.publishId = publishId; + } + + public String getPublishName() { + return publishName; + } + + public void setPublishName(String publishName) { + this.publishName = publishName; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Date getCreatedStart() { + return createdStart; + } + + public void setCreatedStart(Date createdStart) { + this.createdStart = createdStart; + } + + public Date getCreatedEnd() { + return createdEnd; + } + + public void setCreatedEnd(Date createdEnd) { + this.createdEnd = createdEnd; + } + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + + if (StringUtils.isNotBlank(id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (StringUtils.isNotBlank(hospitalId)) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } + if (created!=null) { + condition = condition.and("created", created, MongoOper.IS); + } + if (yn!=null) { + condition = condition.and("yn", yn, MongoOper.IS); + } + if (type!=null){ + condition = condition.and("type", type, MongoOper.IS); + } + if (publishId!=null){ + condition = condition.and("publishId", publishId, MongoOper.IS); + } + if (publishName!=null){ + condition = condition.and("publishName", publishName, MongoOper.IS); + } + Criteria c1 = null; + + if (null != createdStart && createdEnd != null) { + if (null != c1) { + c1 = c1.where("created").gte(createdStart).lte(createdEnd); + } else { + c1 = Criteria.where("created").gte(createdStart).lte(createdEnd); + } + } + if (c1!=null) { + condition = condition.andCondition(new MongoCondition(c1)); + } + return condition.toMongoQuery(); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FeedbackController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FeedbackController.java new file mode 100644 index 0000000..f5f3eda --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FeedbackController.java @@ -0,0 +1,68 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.FeedbackFacade; +import com.lyms.platform.pojo.BabyFeedbackModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +@Controller +@RequestMapping("/baby/feedback") +public class FeedbackController { + @Autowired + private FeedbackFacade feedbackFacade; + + /* + * 小程序意见反馈列表 + * */ + @RequestMapping(method = RequestMethod.GET, value = "/getList") + @ResponseBody + public BaseResponse msgList( + String babyId,Integer limit,Integer page) { + return feedbackFacade.getList(page,limit,babyId); + } + + /* + * 小程序新增反馈 + * */ + @RequestMapping(method = RequestMethod.POST, value = "/add") + @ResponseBody + public BaseResponse add(@RequestBody BabyFeedbackModel babyFeedbackModel) { + return feedbackFacade.add(babyFeedbackModel); + } + + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse list(@RequestParam Integer page, + @RequestParam Integer limit, + Integer type, + String startTime,String endTime, + HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return feedbackFacade.getPageList(page,limit,type,startTime,endTime,loginState.getId()); + } + + /* + * 编辑消息 + * */ + @RequestMapping(method = RequestMethod.POST, value = "/update") + @ResponseBody + @TokenRequired + public BaseResponse msgUpdate(@RequestBody BabyFeedbackModel model) { + if (StringUtils.isEmpty(model.getId())){ + BaseResponse objectResponse = new BaseResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.DATA_EXIST); + objectResponse.setErrormsg("失败"); + return objectResponse; + } + return feedbackFacade.update(model); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyMsgFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyMsgFacade.java index 407d5bb..eedd73b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyMsgFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyMsgFacade.java @@ -239,7 +239,8 @@ public class BabyMsgFacade { babyModels = babyService.queryBabyWithQuery(babyModelQuery); } else if (crowd == 2) { //2是未开通服务 - babyModelQuery.setServiceTypeIsExist(true); + babyModelQuery.setServiceTypeNe(ServiceTypeEnums.ADD_SERVICE.getId()); + babyModelQuery.setServiceStatusNe(ServiceStatusEnums.ADD_OPEN.getId()); babyModels = babyService.queryBabyWithQuery(babyModelQuery); } else if (crowd == 3) { babyModels = babyService.queryBabyWithQuery(babyModelQuery); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FeedbackFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FeedbackFacade.java new file mode 100644 index 0000000..a79d589 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FeedbackFacade.java @@ -0,0 +1,80 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.FeedbackService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.pojo.BabyFeedbackModel; +import com.lyms.platform.query.FeedbackQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Component +public class FeedbackFacade { + @Autowired + private FeedbackService feedbackService; + @Autowired + private AutoMatchFacade autoMatchFacade; + + public BaseResponse getPageList(Integer page, Integer limit, + Integer type,String startTime,String endTime,Integer userId){ + FeedbackQuery feedbackQuery=new FeedbackQuery(); + feedbackQuery.setPage(page); + feedbackQuery.setLimit(limit); + String hospitalId = autoMatchFacade.getHospitalId(userId); + feedbackQuery.setHospitalId(hospitalId); + if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) + { + feedbackQuery.setCreatedStart(DateUtil.parseYMDHMS(startTime + " 00:00:00")); + feedbackQuery.setCreatedEnd(DateUtil.parseYMDHMS(endTime + " 23:59:59")); + } + if (type!=null){ + feedbackQuery.setType(type); + } + List list= feedbackService.queryList(feedbackQuery); + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setData(list); + objectResponse.setPageInfo(feedbackQuery.getPageInfo()); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + public BaseResponse getList(Integer page, Integer limit,String babyId){ + FeedbackQuery feedbackQuery=new FeedbackQuery(); + feedbackQuery.setPage(page); + feedbackQuery.setLimit(limit); + feedbackQuery.setPublishId(babyId); + List list= feedbackService.queryList(feedbackQuery); + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setData(list); + objectResponse.setPageInfo(feedbackQuery.getPageInfo()); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + public BaseResponse add(BabyFeedbackModel model) { + BaseResponse objectResponse = new BaseResponse(); + model.setCreated(new Date()); + model.setYn(YnEnums.YES.getId()); + feedbackService.add(model); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + public BaseResponse update(BabyFeedbackModel model) { + BaseResponse objectResponse = new BaseResponse(); + feedbackService.update(model); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } +} -- 1.8.3.1