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 3db1900..4ccf4e8 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 @@ -33,4 +33,6 @@ public interface CouponMapper { List> findOrgUsers(String hospitalId); List> findOrgAreas(String hospitalId); + + Map findUrl(String code); } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/CouponInfo.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/CouponInfo.java index f9c3d0e..dd384d3 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/CouponInfo.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/CouponInfo.java @@ -51,7 +51,7 @@ public class CouponInfo { private String usedHospitalId; /** - * 状态:1:未使用 2:已使用 -1:禁用 3:分娩销毁 4:建档删除 删除 + * 状态:1=未使用 2=已使用 -1=禁用 3:分娩/删除档案/终止妊娠优惠券作废 */ private Integer status; 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 adf69ae..d341f12 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 @@ -17,7 +17,7 @@ public interface CouponService{ BaseObjectResponse findList(String userId, String hospitalId, String url); - BaseObjectResponse use(String hospitalId, String code, Integer userId); + BaseObjectResponse use(String hospitalId, String code, Integer userId, String usedId); Set findTypes(String hospital); @@ -30,4 +30,6 @@ public interface CouponService{ BaseObjectResponse doctors(String hospitalId); BaseObjectResponse areas(String hospitalId); + + String findUrl(String code); } 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 14e4f5a..5fa8f01 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 @@ -5,14 +5,15 @@ import com.lyms.platform.common.result.BaseObjectResponse; 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.HttpClientUtil; import com.lyms.platform.common.utils.PropertiesUtil; -import com.lyms.platform.common.utils.PropertiesUtils; 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.*; +import net.sf.json.JSONObject; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -339,6 +340,22 @@ public class CouponServiceImpl implements CouponService { return RespBuilder.buildSuccess(couponMapper.findOrgAreas(hospitalId)); } + @Override + public String findUrl(String code) { + Map map = couponMapper.findUrl(code); + String hId = map.get("create_hospital_id").toString(); + String userId = map.get("user_id").toString(); + + PersonModel person = mongoTemplate.findById(userId, PersonModel.class); + + Map params = new HashMap<>(); + params.put("hId", hId); + params.put("dpId", person.getType() == 2 ? "1" : "2"); + String s = HttpClientUtil.doGet(PropertiesUtil.getInstance().getDefault("or.code.create.url"), params, "utf-8", null); + JSONObject jsonObject = JSONObject.fromObject(s); + return jsonObject.get("url").toString(); + } + /** 1=省 2=市 3=区 4=单医院 */ private boolean validateArea(String areaType, String createHospitalId, String useHospitald) { Organization createHospital = organizationService.getOrganization(Integer.parseInt(createHospitalId)); @@ -387,7 +404,7 @@ public class CouponServiceImpl implements CouponService { } else { Patients patient = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(userId)), Patients.class); - if(personType == 1 || couponType.equals("4")) { /** 孕妇根据末次月经对比 分娩券按照末次月经对比 */ + if(personType == 1 || couponType == 4) { /** 孕妇根据末次月经对比 分娩券按照末次月经对比 */ midDate = patient.getLastMenses(); } else if(personType == 3) { /** 产妇根据分娩时间对比 */ midDate = patient.getFmDate(); @@ -434,19 +451,15 @@ public class CouponServiceImpl implements CouponService { return RespBuilder.buildSuccess(restMap); } - public static void main(String[] args) { - System.out.println(PropertiesUtils.getPropertyValue("or.code.url")); - } - - @Override - public BaseObjectResponse use(String hospitalId, String code, Integer userId) { + public BaseObjectResponse use(String hospitalId, String code, Integer userId, String usedId) { Map param = new HashMap<>(); param.put("hospitalId", hospitalId); param.put("operatorUseId", userId); param.put("status", 2); param.put("useDate", new Date()); param.put("code", code); + param.put("usedId", usedId); couponMapper.use(param); return RespBuilder.buildSuccess(); } 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 bb32ee8..cac02e8 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -72,7 +72,7 @@ update coupon_info - set use_date = #{useDate}, operator_use_id = #{operatorUseId}, used_hospital_id = #{hospitalId}, status = #{status} + set use_date = #{useDate}, operator_use_id = #{operatorUseId}, used_hospital_id = #{hospitalId}, status = #{status}, used_id = #{usedId} where sequence_id = #{code} @@ -100,4 +100,8 @@ where hospital_id = #{id} + + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/PropertiesUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/PropertiesUtil.java index 3bff7d8..0694444 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/PropertiesUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/PropertiesUtil.java @@ -68,7 +68,7 @@ public class PropertiesUtil { return get(DEFAULT_DATABASE_NAME, keyName, params); } - public String format(String key, String... params) { + private String format(String key, String... params) { return MessageFormat.format(key, params); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java index 46017ec..d0ccbd4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java @@ -139,15 +139,7 @@ public class AntenatalExaminationController extends BaseController { @TokenRequired public BaseResponse addOneAntenatalExamination(@Valid @RequestBody AntExAddRequest antExAddRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - /** 验证产检券是否可用 可用就改为已使用状态 */ - if(org.apache.commons.lang3.StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) { - BaseObjectResponse resp = couponService.validate(antExAddRequest.getCouponCode(), antExAddRequest.getCouponType(), autoMatchFacade.getHospitalId(loginState.getId())); - if(resp.getErrorcode() != 0) { - return resp; - } else { - couponService.use(autoMatchFacade.getHospitalId(getUserId(request)), antExAddRequest.getCouponCode(), getUserId(request)); - } - } + BaseResponse baseResponse = antenatalExaminationFacade.addOneAntEx(antExAddRequest, loginState.getId()); baseResponse.setObject(couponService.getPatientsInfoByCode(antExAddRequest.getCouponCode())); @@ -165,16 +157,6 @@ public class AntenatalExaminationController extends BaseController { @TokenRequired public BaseResponse addOneAntEx(@Valid @RequestBody AntExcAddRequest antExcAddRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - /** 验证产检券是否可用 可用就改为已使用状态 */ - if(org.apache.commons.lang3.StringUtils.isNotBlank(antExcAddRequest.getCouponCode()) && antExcAddRequest.getCouponType() != null) { - BaseObjectResponse resp = couponService.validate(antExcAddRequest.getCouponCode(), antExcAddRequest.getCouponType(), autoMatchFacade.getHospitalId(loginState.getId())); - if(resp.getErrorcode() != 0) { - return resp; - } else { - couponService.use(autoMatchFacade.getHospitalId(getUserId(request)), antExcAddRequest.getCouponCode(), getUserId(request)); - } - } - BaseResponse baseResponse = antenatalExaminationFacade.addOneAnetExChu(antExcAddRequest, loginState.getId()); baseResponse.setObject(couponService.getPatientsInfoByCode(antExcAddRequest.getCouponCode())); return baseResponse; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java index 7250c4c..e99ef39 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java @@ -47,15 +47,7 @@ public class BabyCheckController extends BaseController{ @TokenRequired public BaseResponse addOrUpBabyCheck(@Valid @RequestBody BabyCheckRequest request,HttpServletRequest httpServletRequest) { LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); - /** 验证产检券是否可用 可用就改为已使用状态 */ - if(org.apache.commons.lang3.StringUtils.isNotBlank(request.getCouponCode()) && request.getCouponType() != null) { - BaseObjectResponse resp = couponService.validate(request.getCouponCode(), request.getCouponType(), autoMatchFacade.getHospitalId(loginState.getId())); - if(resp.getErrorcode() != 0) { - return resp; - } else { - couponService.use(autoMatchFacade.getHospitalId(getUserId(httpServletRequest)), request.getCouponCode(), getUserId(httpServletRequest)); - } - } + if (request != null && !StringUtils.isEmpty(request.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 007699f..e4cd4e4 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 @@ -6,8 +6,10 @@ 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 com.lyms.platform.pojo.PatientCheckTicket; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,6 +36,9 @@ public class CouponController extends BaseController { @Value("${or.code.url}") private String url; + @Autowired + private MongoTemplate mongoTemplate; + /** * 创建用户产检券 * @param userId @@ -70,17 +75,15 @@ public class CouponController extends BaseController { /** * 后期再建档的时候 先验证优惠券 然后再使用 这里先不验证优惠券 - * @param code - * @param hospitalId - * @param request * @return */ - @RequestMapping(method = RequestMethod.PUT, value = "/test") - @TokenRequired + @RequestMapping(method = RequestMethod.POST, value = "/test") @ResponseBody - public BaseObjectResponse testUse(@PathVariable String code, @PathVariable String hospitalId, HttpServletRequest request) { - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return couponService.use(code, hospitalId, loginState.getId()); + public BaseObjectResponse testUse() { + PatientCheckTicket ticket = new PatientCheckTicket(); + mongoTemplate.save(ticket); + System.err.println("ticket > " + ticket + " : " + ticket.getId()); + return null; } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java index a4a8691..9fbb64d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java @@ -52,19 +52,9 @@ public class DischargeAbstractController extends BaseController { BaseObjectResponse baseObjectResponse; LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); - /** 验证产检券是否可用 可用就改为已使用状态 */ - if(org.apache.commons.lang3.StringUtils.isNotBlank(dischargeAbstractSaveRequest.getCouponCode()) && dischargeAbstractSaveRequest.getCouponType() != null) { - BaseObjectResponse resp = couponService.validate(dischargeAbstractSaveRequest.getCouponCode(), dischargeAbstractSaveRequest.getCouponType(), autoMatchFacade.getHospitalId(loginState.getId())); - if(resp.getErrorcode() != 0) { - return resp; - } else { - couponService.use(autoMatchFacade.getHospitalId(getUserId(httpServletRequest)), dischargeAbstractSaveRequest.getCouponCode(), getUserId(httpServletRequest)); - } - } - try { dischargeAbstractSaveRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); - DischargeAbstractSaveResult dischargeAbstractSaveResult = dischargeAbstractFacade.save(dischargeAbstractSaveRequest); + DischargeAbstractSaveResult dischargeAbstractSaveResult = dischargeAbstractFacade.save(dischargeAbstractSaveRequest, loginState.getId()); if (dischargeAbstractSaveResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { baseObjectResponse = new BaseObjectResponse().setErrorcode(dischargeAbstractSaveResult.getErrorcode()).setErrormsg(dischargeAbstractSaveResult.getErrormsg()); baseObjectResponse.setObject(couponService.getPatientsInfoByCode(dischargeAbstractSaveRequest.getCouponCode())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostReviewController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostReviewController.java index b3184b4..b96d79c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostReviewController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostReviewController.java @@ -4,7 +4,6 @@ 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.constants.ErrorCodeConstants; -import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.PostReviewFacade; @@ -54,15 +53,6 @@ public class PostReviewController extends BaseController { public BaseResponse addPostReview(@Valid @RequestBody PostReviewRequest postReviewRequest,HttpServletRequest request){ LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - /** 验证产检券是否可用 可用就改为已使用状态 */ - if(org.apache.commons.lang3.StringUtils.isNotBlank(postReviewRequest.getCouponCode()) && postReviewRequest.getCouponType() != null) { - BaseObjectResponse resp = couponService.validate(postReviewRequest.getCouponCode(), postReviewRequest.getCouponType(), autoMatchFacade.getHospitalId(loginState.getId())); - if(resp.getErrorcode() != 0) { - return resp; - } else { - couponService.use(autoMatchFacade.getHospitalId(getUserId(request)), postReviewRequest.getCouponCode(), getUserId(request)); - } - } BaseResponse baseResponse = postReviewFacade.addPostReview(postReviewRequest, loginState.getId()); baseResponse.setObject(couponService.getPatientsInfoByCode(postReviewRequest.getCouponCode())); return baseResponse; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ScanController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ScanController.java index 5d7ad0d..4ab8fc5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ScanController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ScanController.java @@ -1,6 +1,8 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.permission.service.CouponService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -14,14 +16,18 @@ import javax.servlet.http.HttpServletResponse; @Controller public class ScanController extends BaseController { + @Autowired + private CouponService couponService; + /** * @auther HuJiaqi * @createTime 2017年01月10日 16时23分 * @discription 扫码接口,现在直接返回一个地址 */ @RequestMapping("/scan") - public void scan(HttpServletResponse httpServletResponse) throws Exception { - httpServletResponse.sendRedirect("http://m.healthbaby.com.cn/download/download.html"); + public void scan(HttpServletResponse httpServletResponse, String code) throws Exception { +// httpServletResponse.sendRedirect("http://m.healthbaby.com.cn/download/download.html"); + httpServletResponse.sendRedirect(couponService.findUrl(code)); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 0b142e6..0505f2c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -13,6 +13,7 @@ import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -66,6 +67,9 @@ public class AntenatalExaminationFacade { @Autowired private PatientCheckTicketService patientCheckTicketService; + @Autowired + private CouponService couponService; + /** * 处理区域隐藏建档 * @@ -294,6 +298,15 @@ public class AntenatalExaminationFacade { patientsService.updatePatientOneCol(patients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) == true ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime())); antenatalExaminationService.addOneBabyAnt(model); + /** 验证产检券是否可用 可用就改为已使用状态 */ + if(StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) { + BaseObjectResponse resp = couponService.validate(antExAddRequest.getCouponCode(), antExAddRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); + if(resp.getErrorcode() != 0) { + return resp; + } else { + couponService.use(autoMatchFacade.getHospitalId(userId), antExAddRequest.getCouponCode(), userId, model.getId()); + } + } //修改最后一次检查时间 setLashCTimes(antExAddRequest.getParentId()); @@ -370,6 +383,15 @@ public class AntenatalExaminationFacade { * @return */ public BaseResponse addOneAnetExChu(AntExcAddRequest excAddRequest, Integer userId) { + + /** 验证产检券是否可用 可用就改为已使用状态 */ + if(StringUtils.isNotBlank(excAddRequest.getCouponCode()) && excAddRequest.getCouponType() != null) { + BaseObjectResponse resp = couponService.validate(excAddRequest.getCouponCode(), excAddRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); + if(resp.getErrorcode() != 0) { + return resp; + } + } + AntExChuModel antExChuModel = excAddRequest.convertToDataModel(); String hospitalId = autoMatchFacade.getHospitalId(userId); @@ -462,6 +484,9 @@ public class AntenatalExaminationFacade { antExChuModel.setYn(YnEnums.YES.getId()); antExChuModel.setHospitalId(autoMatchFacade.getHospitalId(userId)); antenatalExaminationService.addOneAntEx(antExChuModel); + /** 把优惠券设置为已使用状态 */ + couponService.use(hospitalId, excAddRequest.getCouponCode(), userId, antExChuModel.getId()); + //修改患者风险等级 patients.setLastCheckEmployeeId(excAddRequest.getProdDoctor()); @@ -507,12 +532,16 @@ public class AntenatalExaminationFacade { referralApplyOrderQuery2.setTransferredHospital(outHospitalId); referralApplyOrderQuery2.setPid(patients.getPid()); applyOrderService.updateByParentId(referralApplyOrderQuery2, model); + + } } } else { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("您已经做过初诊"); } } + + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index a86a372..83de444 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -13,6 +13,7 @@ import com.lyms.platform.operate.web.request.BabyCheckRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -63,6 +64,9 @@ public class BabyCheckFacade { @Autowired private AutoMatchFacade autoMatchFacade; + @Autowired + private CouponService couponService; + /** * 更新检查 * @@ -227,6 +231,14 @@ public class BabyCheckFacade { */ public BaseResponse addBabyCheck(BabyCheckRequest request, Integer userId) { + /** 验证产检券是否可用 可用就改为已使用状态 */ + if(org.apache.commons.lang3.StringUtils.isNotBlank(request.getCouponCode()) && request.getCouponType() != null) { + BaseObjectResponse resp = couponService.validate(request.getCouponCode(), request.getCouponType(), autoMatchFacade.getHospitalId(userId)); + if(resp.getErrorcode() != 0) { + return resp; + } + } + String hospitalId = autoMatchFacade.getHospitalId(userId); //表示区域的 if (org.apache.commons.lang.StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) { @@ -269,6 +281,12 @@ public class BabyCheckFacade { model.setHospitalId(hospitalId); model.setCreated(new Date()); model = babyCheckService.addBabyCheck(model); + + /** 使用优惠券 */ + if(org.apache.commons.lang3.StringUtils.isNotBlank(request.getCouponCode()) && request.getCouponType() != null) { + couponService.use(autoMatchFacade.getHospitalId(userId), request.getCouponCode(), userId, model.getId()); + } + BaseObjectResponse br = new BaseObjectResponse(); if (model == null || model.getId() == null) { br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java index 3973be8..2adb69b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java @@ -7,11 +7,14 @@ import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.RenShenJieJuEnums; import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.ResponseCode; import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.request.DischargeAbstractQueryRequest; import com.lyms.platform.operate.web.request.DischargeAbstractSaveRequest; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.DischargeAbstractBabyModel; @@ -22,9 +25,9 @@ import com.lyms.platform.query.DischargeAbstractBabyQuery; import com.lyms.platform.query.DischargeAbstractMotherQuery; import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.util.StringUtils; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -61,10 +64,26 @@ public class DischargeAbstractFacade { @Autowired private UsersService usersService; - public DischargeAbstractSaveResult save(DischargeAbstractSaveRequest dischargeAbstractSaveRequest) { + @Autowired + private CouponService couponService; + + public DischargeAbstractSaveResult save(DischargeAbstractSaveRequest dischargeAbstractSaveRequest, Integer userId) { DischargeAbstractSaveResult dischargeAbstractSaveResult = new DischargeAbstractSaveResult(); + /** 验证产检券是否可用 可用就改为已使用状态 */ + if(StringUtils.isNotBlank(dischargeAbstractSaveRequest.getCouponCode()) && dischargeAbstractSaveRequest.getCouponType() != null) { + BaseObjectResponse resp = couponService.validate(dischargeAbstractSaveRequest.getCouponCode(), dischargeAbstractSaveRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); + if(resp.getErrorcode() != 0) { + ResponseCode data = (ResponseCode) resp.getData(); + dischargeAbstractSaveResult.setErrorcode(data.getCode()); + dischargeAbstractSaveResult.setErrormsg(data.getMsg()); + return dischargeAbstractSaveResult; + } + + } + + // 保存母亲信息 DischargeAbstractMotherModel dischargeAbstractMotherModel = new DischargeAbstractMotherModel(); BeanUtils.copy(dischargeAbstractSaveRequest, dischargeAbstractMotherModel); @@ -75,6 +94,11 @@ public class DischargeAbstractFacade { dischargeAbstractMotherModel.setpId(dischargeAbstractSaveRequest.getpId()); if (StringUtils.isEmpty(dischargeAbstractMotherModel.getId())) { dischargeAbstractMotherModel = dischargeAbstractMotherService.save(dischargeAbstractMotherModel); + + /** 使用优惠券 */ + if(StringUtils.isNotBlank(dischargeAbstractSaveRequest.getCouponCode()) && dischargeAbstractSaveRequest.getCouponType() != null) { + couponService.use(autoMatchFacade.getHospitalId(userId), dischargeAbstractSaveRequest.getCouponCode(), userId, dischargeAbstractMotherModel.getId()); + } } else { dischargeAbstractMotherService.update(dischargeAbstractMotherModel); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java index d681212..af104d8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java @@ -18,6 +18,7 @@ import com.lyms.platform.operate.web.result.PostReviewListResult; import com.lyms.platform.operate.web.result.PostReviewResult; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -63,6 +64,9 @@ public class PostReviewFacade { @Autowired private OrganizationGroupsService groupsService; + @Autowired + private CouponService couponService; + /** * 增加产后复查记录 *

@@ -75,6 +79,14 @@ public class PostReviewFacade { * @return */ public BaseResponse addPostReview(PostReviewRequest postReviewRequest, Integer userId) { + /** 验证产检券是否可用 可用就改为已使用状态 */ + if(org.apache.commons.lang3.StringUtils.isNotBlank(postReviewRequest.getCouponCode()) && postReviewRequest.getCouponType() != null) { + BaseObjectResponse resp = couponService.validate(postReviewRequest.getCouponCode(), postReviewRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); + if(resp.getErrorcode() != 0) { + return resp; + } + } + PostReviewModel postReviewModel = postReviewRequest.convertToDataModel(); //表示区域的 String hospital = autoMatchFacade.getHospitalId(userId); @@ -110,6 +122,10 @@ public class PostReviewFacade { postReviewModel.setPid(patients.getPid()); postReviewService.addPostReview(postReviewModel); + /** 使用优惠券 */ + if(org.apache.commons.lang3.StringUtils.isNotBlank(postReviewRequest.getCouponCode()) && postReviewRequest.getCouponType() != null) { + couponService.use(autoMatchFacade.getHospitalId(userId), postReviewRequest.getCouponCode(), userId, postReviewModel.getId()); + } if (null != patients1.getPostViewTimes()) { Patients patients2 = new Patients(); diff --git a/platform-operate-api/src/main/resources/database.properties b/platform-operate-api/src/main/resources/database.properties index cb68f0a..70877c9 100644 --- a/platform-operate-api/src/main/resources/database.properties +++ b/platform-operate-api/src/main/resources/database.properties @@ -85,4 +85,5 @@ sequence.min.size=300 sequence.schedule.expression=0 */1 * * * ? # 二维码地址 -or.code.url=https://rp-api.healthbaby.com.cn/scan?code={0} \ No newline at end of file +or.code.url=https://rp-api.healthbaby.com.cn/scan?code={0} +or.code.create.url=http://ams.api.stage.healthbaby.com.cn/v1/create/qrcode \ No newline at end of file