From b485b6ed15091def0abc60614110a86a061a5b34 Mon Sep 17 00:00:00 2001 From: "sijun.li" Date: Fri, 11 Sep 2020 16:58:43 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=E5=A4=A7=E7=90=86=E9=97=A8?= =?utf8?q?=E6=88=B7=E6=9F=A5=E8=AF=A2=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../dlpay/api/bean/QueryCardParam.java | 30 ++++++++++++++++++ .../dlpay/api/bean/QueryPersonDtlParam.java | 31 +++++++++++++++++++ .../dlpay/paysdk/proxy/UserProxy.java | 10 ++++++ .../supwisdom/dlpay/api/dao/PersondtlDao.java | 1 + .../api/controller/user_api_controller.kt | 25 +++++++++++++++ .../dlpay/api/service/card_service.kt | 4 +++ .../api/service/impl/card_service_impl.kt | 11 +++++++ .../api/service/impl/user_service_impl.kt | 6 ++++ .../dlpay/api/service/user_service.kt | 4 +++ 9 files changed, 122 insertions(+) create mode 100644 payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardParam.java create mode 100644 payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryPersonDtlParam.java diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardParam.java new file mode 100644 index 00000000..f9c6c033 --- /dev/null +++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardParam.java @@ -0,0 +1,30 @@ +package com.supwisdom.dlpay.api.bean; + +import com.supwisdom.dlpay.api.APIRequestParam; +import com.supwisdom.dlpay.api.annotation.Sign; +import com.supwisdom.dlpay.api.exception.RequestParamCheckException; +import lombok.Getter; +import lombok.Setter; +import org.apache.commons.lang3.StringUtils; + +import javax.validation.constraints.NotEmpty; + +@Getter +@Setter +public class QueryCardParam extends APIRequestParam { + @Sign + private String cardno; + @Sign + private String userid; + @Sign + @NotEmpty(message = "卡片类型不能为空") + private String cardtype; + + @Override + public boolean checkParam() throws RequestParamCheckException { + if (StringUtils.isEmpty(cardno) && StringUtils.isEmpty(cardno)) { + throw new RequestParamCheckException("卡号或用户ID不能全为空"); + } + return true; + } +} diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryPersonDtlParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryPersonDtlParam.java new file mode 100644 index 00000000..35d0b9d1 --- /dev/null +++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryPersonDtlParam.java @@ -0,0 +1,31 @@ +package com.supwisdom.dlpay.api.bean; + +import com.supwisdom.dlpay.api.APIRequestParam; +import com.supwisdom.dlpay.api.annotation.Sign; +import com.supwisdom.dlpay.api.exception.RequestParamCheckException; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotEmpty; + +@Getter +@Setter +public class QueryPersonDtlParam extends APIRequestParam { + @Sign + @NotEmpty(message = "userid不能为空") + private String userid; + @Sign + @NotEmpty(message = "查询月份不能为空") + private String month; + @Sign + @NotEmpty(message = "起始页不能为空") + private Integer pageno; + @Sign + @NotEmpty(message = "每页条数不能为空") + private Integer pagesize; + + @Override + public boolean checkParam() throws RequestParamCheckException { + return true; + } +} diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java index c8035356..2aece8f5 100644 --- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java +++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java @@ -5,6 +5,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; @FeignClient(value = "userProxy", url = "${payapi.url}") public interface UserProxy { @@ -34,4 +35,13 @@ public interface UserProxy { @PostMapping("/api/user/getUserPoints") ApiResponse getUserPoints(@RequestBody UserPointsParam param); + + @PostMapping("/api/user/queryPersonDtl") + ApiResponse queryPersonDtl(@RequestBody QueryPersonDtlParam param); + + @PostMapping("/api/user/queryPerson") + ApiResponse queryPerson(@RequestParam("userid") String userid); + + @PostMapping("/api/user/queryCard") + ApiResponse queryCard(@RequestBody QueryCardParam param); } diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java index 18261974..0f39c37a 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java @@ -15,6 +15,7 @@ import java.util.List; @Repository public interface PersondtlDao extends JpaRepository,JpaSpecificationExecutor { Page findByUseridAndStatus(String userid,String status, Pageable pageable); + Page findByUseridAndStatusAndTransdateBetween(String userid, String status,String startdate,String enddate, Pageable pageable); @Query("select count(t.refno) as totalcnt,sum(t.amount) as totalamt from TPersondtl t where t.status='success' and t.accdate=?1 and t.sourceType=?2 and t.tenantid=?3 ") CountAmountBean getPersondtlSumInfo(String accdate, String sourcetype, String tenantid); diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt index 94b077b4..04a0a824 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt @@ -195,4 +195,29 @@ class UserAPIController { return ResponseEntity.ok(ResponseBodyBuilder.create().data("page", ret!!) .success("ok")) } + + @PostMapping("/queryPersonDtl") + fun queryPersonDtl(@RequestBody param: QueryPersonDtlParam): ResponseEntity { + val page = useService.findPersondtlByUseridAndMonth(param) + return ResponseEntity.ok(ResponseBodyBuilder.create().data("data", page) + .success("ok")) + } + + @PostMapping("/queryPerson") + fun queryPersonDtl( userid:String ): ResponseEntity { + val person = useService.findPersonByUserid(userid) + ?:ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(500, "未找到[userid=${userid}]的用户")) + return ResponseEntity.ok(ResponseBodyBuilder.create().data("data", person) + .success("ok")) + } + + @PostMapping("/queryCard") + fun queryCard(@RequestBody param: QueryCardParam): ResponseEntity { + val card = cardService.getCardByCardNoOrUserid(param) + ?:ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(500, "未找到指定条件的卡片")) + return ResponseEntity.ok(ResponseBodyBuilder.create().data("data", card) + .success("ok")) + } } diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt index b262bbb9..7330e29c 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt @@ -1,6 +1,7 @@ package com.supwisdom.dlpay.api.service import com.supwisdom.dlpay.api.bean.CardsResponse +import com.supwisdom.dlpay.api.bean.QueryCardParam import com.supwisdom.dlpay.api.bean.UserInforResponse import com.supwisdom.dlpay.api.domain.TCard import com.supwisdom.dlpay.api.domain.TPerson @@ -22,4 +23,7 @@ interface CardService { @Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true) fun getPersonByUserid(userid: String): UserInforResponse + + @Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true) + fun getCardByCardNoOrUserid(param: QueryCardParam): TCard? } \ No newline at end of file diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt index 095115de..daa42d8d 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt @@ -2,6 +2,7 @@ package com.supwisdom.dlpay.api.service.impl import com.supwisdom.dlpay.api.bean.CardsResponse import com.supwisdom.dlpay.api.bean.CitizenCardInfo +import com.supwisdom.dlpay.api.bean.QueryCardParam import com.supwisdom.dlpay.api.bean.UserInforResponse import com.supwisdom.dlpay.api.dao.CardDao import com.supwisdom.dlpay.api.dao.PersonDao @@ -9,6 +10,7 @@ import com.supwisdom.dlpay.api.domain.TCard import com.supwisdom.dlpay.api.domain.TPerson import com.supwisdom.dlpay.api.service.CardService import com.supwisdom.dlpay.exception.TransactionProcessException +import com.supwisdom.dlpay.framework.util.StringUtil import com.supwisdom.dlpay.framework.util.TradeDict import com.supwisdom.dlpay.framework.util.TradeErrorCode import com.supwisdom.dlpay.util.ConstantUtil @@ -161,4 +163,13 @@ class CardServiceImpl : CardService { resp.retmsg = "查询成功" return resp } + + override fun getCardByCardNoOrUserid(param: QueryCardParam): TCard? { + if (!StringUtil.isEmpty(param.cardno)) { + return cardDao.findCardByCardnoAndCardtype(param.cardno,param.cardtype) + }else if (!StringUtil.isEmpty(param.userid)) { + return cardDao.findCardByUseridAndCardtype(param.userid,param.cardtype) + } + return null + } } \ No newline at end of file diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt index 3256e615..8b406736 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt @@ -2,6 +2,7 @@ package com.supwisdom.dlpay.api.service.impl import com.supwisdom.dlpay.api.bean.ModifyUserParam import com.supwisdom.dlpay.api.bean.OpenUserParam +import com.supwisdom.dlpay.api.bean.QueryPersonDtlParam import com.supwisdom.dlpay.api.dao.* import com.supwisdom.dlpay.api.domain.* import com.supwisdom.dlpay.framework.service.SystemUtilService @@ -179,6 +180,11 @@ class UserServiceImpl : UserService { return PageResult(persondtlDao.findByUseridAndStatus(userid,TradeDict.DTL_STATUS_SUCCESS,pageable)) } + override fun findPersondtlByUseridAndMonth(param: QueryPersonDtlParam): PageResult { + var pageable = PageRequest.of(param.pageno - 1, param.pagesize, Sort.Direction.DESC, "transdate","transtime") + return PageResult(persondtlDao.findByUseridAndStatusAndTransdateBetween(param.userid,TradeDict.DTL_STATUS_SUCCESS,param.month+"00",param.month+"32",pageable)) + } + override fun findPersondtlDetailByUserid(userid: String, billno: String): TPersondtl? { var dtl = persondtlDao.findById(billno) if(dtl.isPresent){ diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt index f7588592..30cb60c2 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt @@ -2,6 +2,7 @@ package com.supwisdom.dlpay.api.service import com.supwisdom.dlpay.api.bean.ModifyUserParam import com.supwisdom.dlpay.api.bean.OpenUserParam +import com.supwisdom.dlpay.api.bean.QueryPersonDtlParam import com.supwisdom.dlpay.api.domain.* import com.supwisdom.dlpay.framework.util.PageResult import org.springframework.transaction.annotation.Propagation @@ -44,6 +45,9 @@ interface UserService { @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true) fun findPersondtlByUserid(userid:String, pageno :Int) : PageResult + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true) + fun findPersondtlByUseridAndMonth(param: QueryPersonDtlParam) : PageResult + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true) fun findPersondtlDetailByUserid(userid:String, billno :String) : TPersondtl? -- 2.17.1