From c6d8c5da83fe2d86b37be4026749338676db364d Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Mon, 2 Dec 2019 15:51:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E6=A1=88=E6=94=AF=E6=8C=81update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/controller/CommonController.java | 42 ++++++++++ .../operate/web/request/CommonRequest.java | 51 ++++++++++++ .../operate/web/service/ICommonServer.java | 16 ++++ .../operate/web/service/impl/CommonServerImpl.java | 97 ++++++++++++++++++++++ 4 files changed, 206 insertions(+) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonRequest.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ICommonServer.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CommonServerImpl.java diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java new file mode 100644 index 0000000..b593bd3 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java @@ -0,0 +1,42 @@ +package com.lyms.platform.operate.web.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.fasterxml.jackson.annotation.JsonAlias; +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.CommonRequest; +import com.lyms.platform.operate.web.request.DefectiveChildListRequest; +import com.lyms.platform.operate.web.service.ICommonServer; + +/** + * @author dongqin + * @description + * @date 15:14 2019/12/2 + **/ +@Controller +@RequestMapping("/common") +public class CommonController extends BaseController { + + @Autowired + private ICommonServer commonServer; + + /** + * 根据 cardNo、pid、womenId检索 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/searchByKeyword") + @ResponseBody + @TokenRequired + public BaseResponse searchByKeyword(@JsonAlias CommonRequest param) { + return commonServer.searchByKeyword(param); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonRequest.java new file mode 100644 index 0000000..545d5b7 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonRequest.java @@ -0,0 +1,51 @@ +package com.lyms.platform.operate.web.request; + +import java.io.Serializable; + +public class CommonRequest implements Serializable, Cloneable { + + private static final long serialVersionUID = 2248940647114350872L; + + /** + * 身份证号码 + */ + private String cardNo; + + /** + * 孕妇人对应的id + */ + private String pid; + + /** + * 妇女id + */ + private String womenId; + + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public String getWomenId() { + return womenId; + } + + public void setWomenId(String womenId) { + this.womenId = womenId; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ICommonServer.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ICommonServer.java new file mode 100644 index 0000000..5ca4f55 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ICommonServer.java @@ -0,0 +1,16 @@ +package com.lyms.platform.operate.web.service; + +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.CommonRequest; + +public interface ICommonServer { + + + /** + * 根据 cardNo、pid、womenId检索 + * + * @param param + * @return + */ + BaseResponse searchByKeyword(CommonRequest param); +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CommonServerImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CommonServerImpl.java new file mode 100644 index 0000000..f609b782 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CommonServerImpl.java @@ -0,0 +1,97 @@ +package com.lyms.platform.operate.web.service.impl; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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 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.request.CommonRequest; +import com.lyms.platform.operate.web.service.ICommonServer; +import com.lyms.platform.pojo.PersonModel; +import com.lyms.platform.pojo.ResidentsArchiveModel; + +/** + * @author dongqin + * @description + * @date 15:21 2019/12/2 + **/ +@Service +public class CommonServerImpl implements ICommonServer { + + @Autowired + private MongoTemplate mongoTemplate; + + private static final Logger log = LoggerFactory.getLogger(CommonServerImpl.class); + + /** + * 根据 指定一个cardNo、pid、womenId,检索出其他2个字段的值 + * + * @param param + * @return + */ + @Override + public BaseResponse searchByKeyword(CommonRequest param) { + + CommonRequest result = new CommonRequest(); + try { + result = (CommonRequest) param.clone(); + } catch (CloneNotSupportedException e) { + log.error("CloneNotSupportedException", e.fillInStackTrace()); + return new BaseResponse( ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION, ErrorCodeConstants.SYSTEM_ERROR); + } + BaseResponse baseResponse = new BaseResponse(); + String cardNo = param.getCardNo(); + if (StringUtils.isNotEmpty(cardNo)) { + result.setCardNo(cardNo); + PersonModel personModel = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(cardNo)), PersonModel.class); + if (personModel != null) { + result.setPid(personModel.getId()); + ResidentsArchiveModel archiveModel = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(cardNo)), ResidentsArchiveModel.class); + if (archiveModel != null) { + result.setWomenId(archiveModel.getId()); + } + } + baseResponse.setObject(result); + return baseResponse; + } + + String pid = param.getPid(); + if (StringUtils.isNotEmpty(pid)) { + result.setPid(pid); + PersonModel personModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(pid)), PersonModel.class); + if (personModel != null) { + String personModelCardNo = personModel.getCardNo(); + result.setCardNo(personModelCardNo); + ResidentsArchiveModel archiveModel = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(personModelCardNo)), ResidentsArchiveModel.class); + if (archiveModel != null) { + result.setWomenId(archiveModel.getId()); + } + } + baseResponse.setObject(result); + return baseResponse; + } + + String womenId = param.getWomenId(); + if (StringUtils.isNotEmpty(womenId)) { + result.setWomenId(womenId); + ResidentsArchiveModel archiveModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(womenId)), ResidentsArchiveModel.class); + if (archiveModel != null) { + result.setCardNo(archiveModel.getCertificateNum()); + PersonModel personModel = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(archiveModel.getCertificateNum())), PersonModel.class); + if (personModel != null) { + result.setPid(personModel.getId()); + } + } + baseResponse.setObject(result); + return baseResponse; + } + + return new BaseResponse("参数缺失",ErrorCodeConstants.PARAMETER_ERROR); + } +} -- 1.8.3.1