--- /dev/null
+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;
+ }
+}
--- /dev/null
+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;
+ }
+}
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 {
@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);
}
@Repository
public interface PersondtlDao extends JpaRepository<TPersondtl, String>,JpaSpecificationExecutor<TPersondtl> {
Page<TPersondtl> findByUseridAndStatus(String userid,String status, Pageable pageable);
+ Page<TPersondtl> 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);
return ResponseEntity.ok(ResponseBodyBuilder.create().data("page", ret!!)
.success("ok"))
}
+
+ @PostMapping("/queryPersonDtl")
+ fun queryPersonDtl(@RequestBody param: QueryPersonDtlParam): ResponseEntity<Any> {
+ val page = useService.findPersondtlByUseridAndMonth(param)
+ return ResponseEntity.ok(ResponseBodyBuilder.create().data("data", page)
+ .success("ok"))
+ }
+
+ @PostMapping("/queryPerson")
+ fun queryPersonDtl( userid:String ): ResponseEntity<Any> {
+ 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<Any> {
+ val card = cardService.getCardByCardNoOrUserid(param)
+ ?:ResponseEntity.ok(ResponseBodyBuilder.create()
+ .fail(500, "未找到指定条件的卡片"))
+ return ResponseEntity.ok(ResponseBodyBuilder.create().data("data", card)
+ .success("ok"))
+ }
}
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
@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
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
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
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
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
return PageResult<TPersondtl>(persondtlDao.findByUseridAndStatus(userid,TradeDict.DTL_STATUS_SUCCESS,pageable))
}
+ override fun findPersondtlByUseridAndMonth(param: QueryPersonDtlParam): PageResult<TPersondtl> {
+ var pageable = PageRequest.of(param.pageno - 1, param.pagesize, Sort.Direction.DESC, "transdate","transtime")
+ return PageResult<TPersondtl>(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){
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
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
fun findPersondtlByUserid(userid:String, pageno :Int) : PageResult<TPersondtl>
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun findPersondtlByUseridAndMonth(param: QueryPersonDtlParam) : PageResult<TPersondtl>
+
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
fun findPersondtlDetailByUserid(userid:String, billno :String) : TPersondtl?