From b1b95d154588379ff35873b40562f502a4797739 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Thu, 31 Mar 2022 16:20:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=8C=BB=E6=8C=87=E5=AF=BC=E6=96=87?= =?UTF-8?q?=E7=AB=A0=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/service/MedicineArticleService.java | 98 ++++++++++++ .../lyms/platform/pojo/MedicineArticleModel.java | 152 ++++++++++++++++++ .../lyms/platform/query/MedicineArticleQuery.java | 173 +++++++++++++++++++++ .../web/controller/MedicineArticleController.java | 87 +++++++++++ .../operate/web/facade/MedicineArticleFacade.java | 115 ++++++++++++++ 5 files changed, 625 insertions(+) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MedicineArticleService.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/MedicineArticleModel.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/MedicineArticleQuery.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicineArticleController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicineArticleFacade.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MedicineArticleService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MedicineArticleService.java new file mode 100644 index 0000000..6676709 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MedicineArticleService.java @@ -0,0 +1,98 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +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.enums.YnEnums; +import com.lyms.platform.pojo.BabyOralCheck; +import com.lyms.platform.pojo.LhBabyEyeCheck; +import com.lyms.platform.pojo.MedicineArticleModel; +import com.lyms.platform.query.BabyOralCheckQuery; +import com.lyms.platform.query.LhBabyEyelCheckQuery; +import com.lyms.platform.query.MedicineArticleQuery; +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * Created by shy on 2022/3/17. + * 中医指导文章 逻辑 + */ + +@Service("MedicineArticleService") +public class MedicineArticleService extends BaseMongoDAOImpl { + + /** + * 新增 + * @param model + * @return + */ + public MedicineArticleModel add(MedicineArticleModel model) { + model.setCreated(new Date()); + model.setYn(YnEnums.YES.getId()); + mongoTemplate.insert(model); + return model; + } + + /** + * 根据id修改 + * @param model + */ + public void update(MedicineArticleModel model) { + model.setModified(new Date()); + update(new MongoQuery(new MongoCondition("id", model.getId(), MongoOper.IS)).convertToMongoQuery(), model); + } + + /** + * 删除 + * @param id + */ + public void deleteById(String id) { + MedicineArticleModel obj = new MedicineArticleModel(); + obj.setYn(YnEnums.NO.getId()); + obj.setId(id); + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); + } + + /** + * 根据id查询 + * @param id + * @return + */ + public MedicineArticleModel queryById(String id) { + MedicineArticleQuery modelQuery = new MedicineArticleQuery(); + modelQuery.setId(id); + MongoQuery query = modelQuery.convertToQuery(); + return findOne(query.convertToMongoQuery()); + } + + /** + * 根据条件查询 + * @param modelQuery 查询条件 + * @param sortkeys 按什么字段排序(如null必须sort也为null表示不排序) + * @param sort 排序 ASC/DESC + * Need 给这个字段赋值代表需要分页,null不需要分页 + * @return + */ + public List queryList(MedicineArticleQuery modelQuery, Sort.Direction sort, String[] sortkeys) { + MongoQuery query = modelQuery.convertToQuery(); + if (StringUtils.isNotEmpty(modelQuery.getNeed())) {//是否需要分页 + modelQuery.mysqlBuild((int)count(modelQuery.convertToQuery().convertToMongoQuery())); + query.start(modelQuery.getOffset()).end(modelQuery.getLimit()); + } + if(ArrayUtils.isNotEmpty(sortkeys) && null!=sort){ + for (String sortkey : sortkeys) { + query.addOrder(sort, sortkey); + } + } + return find(query.convertToMongoQuery()); + } + + + +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MedicineArticleModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MedicineArticleModel.java new file mode 100644 index 0000000..3627e78 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MedicineArticleModel.java @@ -0,0 +1,152 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + + +/** + * 中医指导文章 + * + * @author Administrator + */ +@Document(collection = "lyms_medicineArticle") +public class MedicineArticleModel extends BaseModel { + /** + * id + */ + private String id; + /** + * 数据 1: "有效",0: "无效" + */ + private Integer yn; + /** + * 系统创建时间 + */ + private Date created; + /** + * 系统修改时间 + */ + private Date modified; + /** + * 医院机构 + */ + private String hospitalId; + /** + * 文章标题 + */ + private String title; + /** + * 文章类型 + */ + private Integer type; + /** + * 文章内容 + */ + private String contents; + /** + * 短文字 + */ + private String shortText; + /** + * 月龄范围开始 + */ + private Integer monthAgeStart; + /** + * 月龄范围结束 + */ + private Integer monthAgeEnd; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + + public String getContents() { + return contents; + } + + public void setContents(String contents) { + this.contents = contents; + } + + public String getShortText() { + return shortText; + } + + public void setShortText(String shortText) { + this.shortText = shortText; + } + + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getMonthAgeStart() { + return monthAgeStart; + } + + public void setMonthAgeStart(Integer monthAgeStart) { + this.monthAgeStart = monthAgeStart; + } + + public Integer getMonthAgeEnd() { + return monthAgeEnd; + } + + public void setMonthAgeEnd(Integer monthAgeEnd) { + this.monthAgeEnd = monthAgeEnd; + } +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MedicineArticleQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MedicineArticleQuery.java new file mode 100644 index 0000000..dc62774 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/MedicineArticleQuery.java @@ -0,0 +1,173 @@ +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 com.lyms.platform.common.utils.StringUtils; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.Date; +import java.util.List; + +/** + * 中医指导文章-查询 + *

+ * Created by Administrator on 2022/3/31 . + */ +public class MedicineArticleQuery extends BaseQuery implements IConvertToNativeQuery { + /** + * id + */ + private String id; + /** + * 数据 1: "有效",0: "无效" + */ + private Integer yn; + /** + * 系统创建时间-开始 + */ + private Date createdStart; + /** + * 系统创建时间-结束 + */ + private Date createdEnd; + + /** + * 医院机构 + */ + private String hospitalId; + /** + * 文章标题 + */ + private String title; + /** + * 文章类型 + */ + private Integer type; + + /** + * 月龄范围开始 + */ + private Integer monthAgeStart; + /** + * 月龄范围结束 + */ + private Integer monthAgeEnd; + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + if (StringUtils.isNotEmpty( id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (null != yn) { + condition = condition.and("yn", yn, MongoOper.IS); + } + + if (StringUtils.isNotEmpty(hospitalId)) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } + if (null != type) { + condition = condition.and("type", type, MongoOper.IS); + } + if (StringUtils.isNotEmpty( title)) { + condition = condition.and("title", title, MongoOper.LIKE); + } + if (null != monthAgeStart) { + condition = condition.and("monthAgeStart", monthAgeStart, MongoOper.IS); + } + if (null != monthAgeEnd) { + condition = condition.and("monthAgeEnd", monthAgeEnd, MongoOper.IS); + } + + Criteria c = null; + + if (null != createdStart && createdEnd != null) { + if (null != c) { + c = c.and("created").gte(createdStart).lte(createdEnd); + } else { + c = Criteria.where("created").gte(createdStart).lte(createdEnd); + } + } + + + if (null != c) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + return condition.toMongoQuery(); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + 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; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getMonthAgeStart() { + return monthAgeStart; + } + + public void setMonthAgeStart(Integer monthAgeStart) { + this.monthAgeStart = monthAgeStart; + } + + public Integer getMonthAgeEnd() { + return monthAgeEnd; + } + + public void setMonthAgeEnd(Integer monthAgeEnd) { + this.monthAgeEnd = monthAgeEnd; + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicineArticleController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicineArticleController.java new file mode 100644 index 0000000..b909458 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicineArticleController.java @@ -0,0 +1,87 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.LhBabyEyeCheckFacade; +import com.lyms.platform.operate.web.facade.MedicineArticleFacade; +import com.lyms.platform.pojo.LhBabyEyeCheck; +import com.lyms.platform.pojo.MedicineArticleModel; +import com.lyms.platform.query.BabyModelQuery; +import com.lyms.platform.query.LhBabyEyelCheckQuery; +import com.lyms.platform.query.MedicineArticleQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + + +/** + * 中医指导文章 + * Created by Administrator on 2022/3/31. + * + */ + +@Controller +@RequestMapping("/medicineArticle") +public class MedicineArticleController extends BaseController { + + @Autowired + private MedicineArticleFacade medicineArticleFacade; + + + + /** + * 中医指导文章-添加、编辑 + * @param model + * @return + */ + @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST) + @ResponseBody + public BaseResponse addOrUpdate(@RequestBody MedicineArticleModel model, HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return medicineArticleFacade.addOrUpdate(model,loginState.getId()); + } + + /** + * 中医指导文章-删除 + * @param id + * @return + */ + @RequestMapping(value = "/delData", method = RequestMethod.DELETE) + @ResponseBody + public BaseResponse delData(String id, HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return medicineArticleFacade.delData(id,loginState.getId()); + } + /** + * 编辑时回显数据 + * @param id + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/queryUpDate",method = RequestMethod.GET) + public BaseResponse queryUpDate(String id) { + + return medicineArticleFacade.queryUpDate(id); + } + + /** + * 文章列表列表 + * @param modelQuery + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/queryListPage",method = RequestMethod.GET) + public BaseResponse queryListPage(MedicineArticleQuery modelQuery, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return medicineArticleFacade.queryListPage(modelQuery,loginState.getId()); + } + + +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicineArticleFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicineArticleFacade.java new file mode 100644 index 0000000..10f9571 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicineArticleFacade.java @@ -0,0 +1,115 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.BabyBookbuildingService; +import com.lyms.platform.biz.service.MedicineArticleService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.OptActionEnums; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ReflectionUtils; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.permission.dao.master.CouponMapper; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.pojo.MedicineArticleModel; +import com.lyms.platform.query.MedicineArticleQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * + * Created by shy on 2022/3/31. + * 中医指导文章 业务处理 + * + */ +@Component +public class MedicineArticleFacade { + @Autowired + private AutoMatchFacade autoMatchFacade; + @Autowired + private MongoTemplate mongoTemplate; + @Autowired + private OrganizationService organizationService; + @Autowired + private CouponMapper couponMapper; + @Autowired + private OperateLogFacade operateLogFacade; + @Autowired + private MedicineArticleService medicineArticleService; + + + + public BaseResponse addOrUpdate(MedicineArticleModel model,Integer userid) { + String hospitalId = autoMatchFacade.getHospitalId(userid); + model.setHospitalId(hospitalId); + //添加 + if(StringUtils.isEmpty(model.getId())){ + medicineArticleService.add(model); + operateLogFacade.addDeleteOptLog(userid, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加中医指导文章"); + + }else{//修改 + medicineArticleService.update(model); + MedicineArticleModel model2 = medicineArticleService.queryById(model.getId()); + if (null!=model2) { + operateLogFacade.addDeleteOptLog(userid, Integer.parseInt(hospitalId), model2, OptActionEnums.UPDATE.getId(), "修改中医指导文章"); + } + } + BaseObjectResponse br = new BaseObjectResponse(); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(model.getId()); + return br; + } + + public BaseResponse delData(String id,Integer userid) { + String hospitalId = autoMatchFacade.getHospitalId(userid); + medicineArticleService.deleteById(id); + MedicineArticleModel model = medicineArticleService.queryById(id); + if (null!=model) { + operateLogFacade.addDeleteOptLog(userid, Integer.parseInt(hospitalId), model, OptActionEnums.DELETE.getId(), "删除中医指导文章"); + } + BaseObjectResponse br = new BaseObjectResponse(); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + } + public BaseResponse queryUpDate(String id) { + MedicineArticleModel model = medicineArticleService.queryById(id); + BaseObjectResponse br = new BaseObjectResponse(); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setData(model); + br.setErrormsg("成功"); + return br; + } + + public BaseResponse queryListPage(MedicineArticleQuery request, Integer userid) { + String hospitalId = autoMatchFacade.getHospitalId(userid); + request.setHospitalId(hospitalId); + request.setYn(YnEnums.YES.getId()); + request.setNeed("true"); + if (request.getCreatedEnd() != null) { + request.setCreatedEnd(DateUtil.getDayLastSecond(request.getCreatedEnd())); + } + List resultList=medicineArticleService.queryList(request, Sort.Direction.DESC,new String[]{"created"}); + List result=new ArrayList<>(); + for (MedicineArticleModel model : resultList) { + Map map= ReflectionUtils.beanToMap(model);//对象转map + map.put("hospitalName",couponMapper.getHospitalName(hospitalId)); + result.add(map); + } + + BaseObjectResponse br = new BaseObjectResponse(); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setData(result); + br.setPageInfo(request.getPageInfo()); + br.setErrormsg("成功"); + return br; + } +} -- 1.8.3.1