From 31cc7c7c526319c09abbe212db1370da73141cae Mon Sep 17 00:00:00 2001 From: litao Date: Thu, 25 May 2017 18:42:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=8A=BD=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/dao/master/CouponMapper.java | 8 +++ .../platform/permission/service/CouponService.java | 4 +- .../permission/service/impl/CouponServiceImpl.java | 10 ++-- .../main/resources/mainOrm/master/CouponMapper.xml | 20 ++++++++ .../operate/web/controller/CouponController.java | 5 +- .../operate/web/controller/ReportController.java | 25 ++++++++++ .../operate/web/service/IReportService.java | 4 +- .../web/service/impl/ReportServiceImpl.java | 57 ++++++++++++++++++++-- .../lyms/platform/operate/web/utils/PageUtil.java | 23 +++++++++ 9 files changed, 140 insertions(+), 16 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/PageUtil.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java index a3ba028..005ffbc 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java @@ -54,4 +54,12 @@ public interface CouponMapper { List> findUsedInfo(Map param); List> findHospitals(Map param); + + Map findHospitalName(Map param); + + String findUserName(String prodDoctor); + + String findPhone(String s); + + List> findCouponInfo(Map param); } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java index 7262d26..93f40d9 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java @@ -16,7 +16,7 @@ public interface CouponService{ BaseObjectResponse validate(String code, Integer type, String hospitalId); - BaseObjectResponse findList(String userId, String hospitalId, String url); + BaseObjectResponse findList(String userId, String hospitalId, String url, Integer type); BaseObjectResponse use(String hospitalId, String code, Integer userId, String usedId); @@ -32,7 +32,7 @@ public interface CouponService{ BaseObjectResponse areas(String hospitalId); - String findUrl(String code); + String findUrl(String code, Integer type); List> queryCouponItemsByType(Map params); diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java index c158ada..5c2d1fa 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java @@ -63,10 +63,6 @@ public class CouponServiceImpl implements CouponService { @Autowired private WeixinQrcodeConfigService weixinQrcodeConfigService; - @Value("${or.code.create.type}") - private Integer type; - - @Autowired private CouponMapper couponMapper; @Autowired @@ -388,7 +384,7 @@ public class CouponServiceImpl implements CouponService { } @Override - public String findUrl(String code) { + public String findUrl(String code, Integer type) { Map map = couponMapper.findUrl(code); String hId = map.get("create_hospital_id").toString(); @@ -521,7 +517,7 @@ public class CouponServiceImpl implements CouponService { } @Override - public BaseObjectResponse findList(String userId, String hospitalId, String url) { + public BaseObjectResponse findList(String userId, String hospitalId, String url, Integer type) { Map param = new HashMap<>(); param.put("userId", userId); param.put("hospitalId", hospitalId); @@ -531,7 +527,7 @@ public class CouponServiceImpl implements CouponService { List> couponInfos = couponMapper.findInfo(param); for (Map map : couponInfos) { // map.put("url", PropertiesUtil.getInstance().getDefault("or.code.url", map.get("sequence_id").toString())); - map.put("url", findUrl(map.get("sequence_id").toString())); + map.put("url", findUrl(map.get("sequence_id").toString(), type)); } restMap.put("couponInfos", couponInfos); return RespBuilder.buildSuccess(restMap); diff --git a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml index 093b437..8274819 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -209,4 +209,24 @@ #{hid} + + + + + + + + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java index 3ba85d9..690e045 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java @@ -39,6 +39,9 @@ public class CouponController extends BaseController { @Value("${or.code.url}") private String url; + @Value("${or.code.create.type}") + private Integer type; + @Autowired private MongoTemplate mongoTemplate; @@ -71,7 +74,7 @@ public class CouponController extends BaseController { @RequestMapping(method = RequestMethod.GET, value = "/{userId}/{hospitalId}") @ResponseBody public BaseObjectResponse list(@PathVariable String userId, @PathVariable String hospitalId) { - return couponService.findList(userId, hospitalId, url); + return couponService.findList(userId, hospitalId, url, type); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java index 0dd2e1b..8f311f8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java @@ -211,6 +211,31 @@ public class ReportController extends BaseController { Map param = CollectionUtils.createMap("userId", getUserId(request), "startDate", startDate, "endDate", endDate, "hospitalId", hospitalId, "provinceId", provinceId, "cityId", cityId, "areaId", areaId, "tempId", tempId, "couponType", couponType); + return reportService.coupon(param); + } + + /** + * 优惠券相关统计详情 + * @param request + * @param startDate 开始时间 + * @param endDate 结束时间 + * @param provinceId 省 + * @param cityId 市 + * @param areaId 区 + * @param hospitalId 医院id + * @param tempId 模板id + * @param couponType 优惠券类型 + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/coupon/info", method = RequestMethod.GET) + public BaseObjectResponse couponInfo(HttpServletRequest request, Date startDate, Date endDate, + String provinceId, String cityId, String areaId, String hospitalId, String tempId, String couponType, + Integer currentPage, Integer pageSize) { + Map param = CollectionUtils.createMap("userId", getUserId(request), "startDate", startDate, + "endDate", endDate, "hospitalId", hospitalId, "provinceId", provinceId, "cityId", cityId, "areaId", + areaId, "tempId", tempId, "couponType", couponType); return reportService.couponInfo(param); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java index bdd82a2..ce511e4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java @@ -67,7 +67,9 @@ public interface IReportService extends IBaseService { void exportCheckInfo(Integer childBirth, String startDate, String endDate, Integer startWeek, Integer endWeek, Integer number, String name, Integer userId, HttpServletResponse resp); - BaseObjectResponse couponInfo(Map param); + BaseObjectResponse coupon(Map param); BaseObjectResponse couponInit(Map userId); + + BaseObjectResponse couponInfo(Map param); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index c49a21b..703d9d7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -6,20 +6,23 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.PageResult; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.result.ResponseCode; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.EnumUtil; import com.lyms.platform.operate.web.dao.IReportDao; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.service.IReportService; -import com.lyms.platform.operate.web.utils.CollectionUtils; -import com.lyms.platform.operate.web.utils.MathUtil; -import com.lyms.platform.operate.web.utils.ResponseUtil; -import com.lyms.platform.operate.web.utils.SystemDataSource; +import com.lyms.platform.operate.web.utils.*; import com.lyms.platform.permission.dao.master.CouponMapper; +import com.lyms.platform.pojo.AntExChuModel; +import com.lyms.platform.pojo.AntenatalExaminationModel; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.Patients; import com.lymsh.platform.reportdata.model.echarts.Series; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -414,7 +417,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } @Override - public BaseObjectResponse couponInfo(Map param) { + public BaseObjectResponse coupon(Map param) { if(StringUtils.isBlank((String) param.get("hospitalId"))) { param.put("hospitalId", Arrays.asList("216", "245")); /** 模拟根据登陆人id 查询出来的医院 */ } else { @@ -480,6 +483,49 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService "hTemp", couponMapper.findHospitals(param)); } + @Override + public BaseObjectResponse couponInfo(Map param) { + PageUtil.setPageInfo(param); + Map hospitalName = couponMapper.findHospitalName(param); + List> couponInfos = couponMapper.findCouponInfo(param); + for (Map couponInfo : couponInfos) { + setAntexInfo(couponInfo); + } + return RespBuilder.buildSuccess("hospitalInfo", hospitalName, "couponInfo", couponInfos); + } + + private void setAntexInfo(Map map) { + String sequenceId = (String) map.get("sequence_id"); + if(StringUtils.isEmpty(sequenceId)) return; + AntExChuModel antexc = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntExChuModel.class); + if(antexc != null) { + map.put("checkDate", antexc.getCheckTime()); /** 产检日期 */ + Patients patients = mongoTemplate.findById(antexc.getParentId(), Patients.class); + if(patients != null) { + map.put("username", patients.getUsername()); /** 姓名 */ + } + map.put("week", DateUtil.getDays(antexc.getCheckTime(), antexc.getLastMenses()));/** 产检孕周 = 产检时间 - 末次月经 */ + map.put("number", antexc.getProdTime()); /** 产检第几次 */ + map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); /** 产检医生 */ + map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); /** 产检机构 */ + map.put("phone", couponMapper.findPhone(antexc.getOperator() + "")); + } else { + AntenatalExaminationModel antenatal = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntenatalExaminationModel.class); + if(antenatal != null) { + map.put("checkDate", antenatal.getCheckDate()); /** 产检日期 */ + Patients patients = mongoTemplate.findById(antenatal.getParentId(), Patients.class); + if(patients != null) { + map.put("username", patients.getUsername()); /** 姓名 */ + } + map.put("week", antenatal.getCurrentDueDate());/** 产检孕周 = 产检时间 - 末次月经 */ + map.put("number", antenatal.getYn()); /** 产检第几次 */ + map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); /** 产检医生 */ + map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); /** 产检机构 */ + map.put("phone", couponMapper.findPhone(antenatal.getOperator() + "")); + } + } + } + private String findName(Object id) { if(id != null) { BasicConfig basicConfig = mongoTemplate.findById(id, BasicConfig.class); @@ -814,4 +860,5 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService System.out.println(sql.toString()); return sql.toString(); } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/PageUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/PageUtil.java new file mode 100644 index 0000000..3aa577b --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/PageUtil.java @@ -0,0 +1,23 @@ +package com.lyms.platform.operate.web.utils; + +import java.util.Map; + +/** + * @Author: litao + * @Date: 2017/5/25 0025 17:50 + * @Version: V1.0 + */ +public class PageUtil { + public static void setPageInfo(Map map) { + Integer pageSize = map.get("pageSize") == null ? 15 : Integer.parseInt(map.get("pageSize").toString()); + Integer currentPage = map.get("currentPage") == null ? 1 : Integer.parseInt(map.get("currentPage").toString()); + if(pageSize < 1) { + pageSize = 10; + } + if(currentPage < 1) { + currentPage = 1; + } + map.put("currentPage", (currentPage - 1) * pageSize); + map.put("pageSize",pageSize); + } +} -- 1.8.3.1