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 bb75dfc..1e48a1e 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 @@ -29,5 +29,4 @@ public interface CouponMapper { Set findTypes(Map param); - Organization findOrg(String hospitalId); } 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 f3cb6fc..e5811e3 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 @@ -12,7 +12,7 @@ import java.util.Set; public interface CouponService{ BaseObjectResponse create(String userId, String hospitalId, Integer createUserId); - BaseObjectResponse validate(String code, Integer type); + BaseObjectResponse validate(String code, Integer type, String hospitalId); BaseObjectResponse findList(String userId, String hospitalId); 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 922aa39..7a94027 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 @@ -9,12 +9,14 @@ import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.CouponInfo; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.service.CouponService; +import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.DischargeAbstractMotherModel; import com.lyms.platform.pojo.MaternalDeliverModel; import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.PersonModel; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,6 +27,7 @@ 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 org.springframework.util.Assert; import java.util.*; @@ -67,6 +70,8 @@ public class CouponServiceImpl implements CouponService { @Autowired private MongoTemplate mongoTemplate; + @Autowired + private OrganizationService organizationService; /** * 生成规则: * 孕妇 建档、产检、分娩、出院小结、产后复查 @@ -211,7 +216,7 @@ public class CouponServiceImpl implements CouponService { } @Override - public BaseObjectResponse validate(String code, Integer type) { + public BaseObjectResponse validate(String code, Integer type, String hospitalId) { Map param = new HashMap<>(); param.put("code", code); param.put("type", type); @@ -240,7 +245,7 @@ public class CouponServiceImpl implements CouponService { return RespBuilder.buildErro(ResponseCode.COUPON_TIME_OUT); /** 验证区域 */ - if(!validateArea(data.get("area_type").toString(), couponInfo.getCreateHospitalId(), "")) { + if(!validateArea(data.get("area_type").toString(), couponInfo.getCreateHospitalId(), hospitalId)) { return RespBuilder.buildErro(ResponseCode.COUPON_AREA_NO_USE); } @@ -250,9 +255,28 @@ public class CouponServiceImpl implements CouponService { return RespBuilder.buildSuccess(restMap); } + /** 1=省 2=市 3=区 4=单医院 */ private boolean validateArea(String areaType, String createHospitalId, String useHospitald) { - Organization createHospital = couponMapper.findOrg(createHospitalId); - Organization useHospita = couponMapper.findOrg(useHospitald); + Organization createHospital = organizationService.getOrganization(Integer.parseInt(createHospitalId)); + Organization useHospital = organizationService.getOrganization(Integer.parseInt(useHospitald)); + + if(createHospital != null && useHospital != null) { + if("1".equals(areaType)) { + if(StringUtils.isNotBlank(createHospital.getProvinceId())) { + return createHospital.getProvinceId().equals(useHospital.getProvinceId()); + } + } else if("2".equals(areaType)) { + if(StringUtils.isNotBlank(createHospital.getCityId())) { + return createHospital.getCityId().equals(useHospital.getCityId()); + } + } else if("3".equals(areaType)) { + if(StringUtils.isNotBlank(createHospital.getAreaId())) { + return createHospital.getAreaId().equals(useHospital.getAreaId()); + } + } else if("4".equals(areaType)) { + return createHospitalId.equals(useHospital.getId()); + } + } return false; } 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 7a5320e..f93e805 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -16,6 +16,8 @@ + + sequence_id,create_date,use_date,user_id,create_user_id,coupon_template_id,create_hospital_id,used_hospital_id,status @@ -81,7 +83,4 @@ where a.hospital_id = #{hospitalId} and a.coupon_template_group_id = b.group_id and b.type_id = c.id - \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java b/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java index b88fed5..de2853a 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java +++ b/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java @@ -2,6 +2,7 @@ package com.lyms.platform.common.base; import com.lyms.platform.common.utils.DateUtil; +import org.springframework.util.Assert; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; @@ -111,4 +112,10 @@ public class BaseController extends ExceptionHandlerController{ } }); } + + protected Integer getUserId(HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + Assert.notNull(loginState, "未登录"); + return loginState.getId(); + } } 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 41eab87..a52cf76 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 @@ -4,6 +4,7 @@ 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.BaseObjectResponse; +import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.permission.service.CouponService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -26,6 +27,9 @@ public class CouponController extends BaseController { @Autowired private CouponService couponService; + @Autowired + AutoMatchFacade autoMatchFacade; + /** * 创建用户产检券 * @param userId @@ -56,8 +60,9 @@ public class CouponController extends BaseController { @RequestMapping(method = RequestMethod.GET, value = "/validate/{code}/{type}") @ResponseBody - public BaseObjectResponse validate(@PathVariable String code, @PathVariable Integer type) { - return couponService.validate(code, type); + @TokenRequired + public BaseObjectResponse validate(@PathVariable String code, @PathVariable Integer type, HttpServletRequest request) { + return couponService.validate(code, type, autoMatchFacade.getHospitalId(getUserId(request))); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java index 973b4f2..d56a185 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java @@ -1,7 +1,6 @@ package com.lyms.platform.operate.web.controller; -import com.lyms.platform.biz.service.GenSequenceIdService; import com.lyms.platform.biz.service.YunBookbuildingService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; @@ -17,6 +16,7 @@ import com.lyms.platform.operate.web.facade.BookbuildingFacade; import com.lyms.platform.operate.web.request.AntenatalExaminationQueryRequest; import com.lyms.platform.operate.web.request.BookbuildingQueryRequest; import com.lyms.platform.operate.web.request.YunBookbuildingAddRequest; +import com.lyms.platform.permission.service.CouponService; import org.apache.commons.httpclient.HttpClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -47,7 +47,7 @@ public class PregnantBuildController extends BaseController{ private AntenatalExaminationFacade antenatalExaminationFacade; @Autowired - private GenSequenceIdService genSequenceIdService; + private CouponService couponService; /** @@ -69,8 +69,11 @@ public class PregnantBuildController extends BaseController{ @RequestMapping(method = RequestMethod.POST, value = "/addOrUpdateYunBuild") @ResponseBody @TokenRequired - public BaseResponse addOrUpdateYunBuild(@RequestBody YunBookbuildingAddRequest yunBookbuildingAddRequest,HttpServletRequest request) { + public BaseResponse addOrUpdateYunBuild(@RequestBody YunBookbuildingAddRequest yunBookbuildingAddRequest, String code, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + + /** 验证产检券是否可用 可用就改为已使用状态 */ +// couponService.validate(loginState.getId(), ) if (yunBookbuildingAddRequest != null && !StringUtils.isEmpty(yunBookbuildingAddRequest.getId()) ) { return bookbuildingFacade.updatePregnantById(yunBookbuildingAddRequest.getId(), yunBookbuildingAddRequest,loginState.getId()); 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 0baff88..11deb71 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 @@ -37,12 +37,12 @@ public class ReportController extends BaseController { */ @RequestMapping(method = RequestMethod.GET,value = "/getCheckStatistics") @ResponseBody - @TokenRequired +// @TokenRequired public BaseObjectResponse getCheckStatistics(String startDate, String endDate, Integer startWeek, Integer endWeek, Integer childBirth, HttpServletRequest request) { - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth, loginState.getId()); -// return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth, 753); +// LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); +// return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth, loginState.getId()); + return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth, 753); }