From: sijun.li Date: Mon, 19 Oct 2020 06:12:24 +0000 (+0800) Subject: 增加查询用户任务积分流水接口 X-Git-Tag: 1.0.27^2~1 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=f114ee188d13b84541bbff3522537e4e2aac722c;p=epayment%2Ffood_payapi.git 增加查询用户任务积分流水接口 --- 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 6befaecf..575d011d 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 @@ -32,7 +32,10 @@ public interface UserProxy { ApiResponse userTask(@RequestBody UserTaskParam param); @PostMapping("/api/user/getTask") - Map getTPointsTaskNoPage(); + Map getTPointsTaskNoPage(@RequestParam("userid") String userid); + + @PostMapping("/api/user/getTaskStatus") + Map getTaskStatus(@RequestParam("userid") String userid,@RequestParam("taskid")Integer taskid); @PostMapping("/api/user/getUserPoints") Map getUserPoints(@RequestBody UserPointsParam param); @@ -69,4 +72,7 @@ public interface UserProxy { @PostMapping("/api/user/qrcode") Map qrcode(@RequestBody QrcodeParam param); + + @PostMapping("/api/user/consumetask") + ApiResponse consumeTask(@RequestParam("userid") String userid); } 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 0f39c37a..3be44571 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 @@ -25,4 +25,6 @@ public interface PersondtlDao extends JpaRepository,JpaSpeci List findAllByUseridAndTransdateStartingWithAndReverseFlagAndStatusAndTradeflag(String userid, String transdate,String reverseFlag,String status,String tradeflag); List findAllByTransdateAndReverseFlagAndStatusAndTradeflag(String transdate,String reverseFlag,String status,String tradeflag); + + TPersondtl findTopByUseridAndStatusAndTradeflag(String userid, String status, String tradeFlag); } diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PointsDtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PointsDtlDao.java index 0bbf7a3c..5e3d58e2 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PointsDtlDao.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PointsDtlDao.java @@ -33,4 +33,5 @@ public interface PointsDtlDao extends JpaRepository, JpaSpe TPointsdtl findAllByUseridAndRefnoAndTransdate(String userid,Integer refno,String transdate); + TPointsdtl findTopByUseridAndTypeAndRefnoOrderByIdDesc(String userid, String type, Integer refno); } diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsTask.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsTask.java index 3bfb71b8..c56be1e6 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsTask.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsTask.java @@ -37,6 +37,9 @@ public class TPointsTask { @Column(name = "ORDERNUM") private Integer ordernum; + @Transient + private String lasttime; + public Integer getTaskid() { return taskid; } @@ -108,4 +111,12 @@ public class TPointsTask { public void setOrdernum(Integer ordernum) { this.ordernum = ordernum; } + + public String getLasttime() { + return lasttime; + } + + public void setLasttime(String lasttime) { + this.lasttime = lasttime; + } } diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsdtl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsdtl.java index 34c2f98a..a5fe9452 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsdtl.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPointsdtl.java @@ -5,7 +5,7 @@ import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @Entity -@Table(name = "TB_POINTSDTL") +@Table(name = "TB_POINTSDTL",indexes = {@Index(name = "points_dtl_idx",columnList = "userid")}) public class TPointsdtl { @Id @GenericGenerator(name = "idGeneratorDtl", strategy = "sequence") diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java index 61f6fd66..7efce690 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/PointsService.java @@ -141,7 +141,10 @@ public interface PointsService { JsonResult finishTask (String userid,String taskid); @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true) - JsonResult getTPointsTaskNoPage(); + JsonResult getTPointsTaskNoPage(String userid); + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true) + TPointsdtl getTaskStatus(String userid,Integer taskid); /* diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java index 27d45b21..2d638b68 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/PointsServiceImpl.java @@ -933,10 +933,24 @@ public class PointsServiceImpl implements PointsService { } @Override - public JsonResult getTPointsTaskNoPage() { + public JsonResult getTPointsTaskNoPage(String userid) { + List list = pointsTaskDao.findAll(Sort.by(Sort.Direction.ASC, "ordernum")); + if (!StringUtil.isEmpty(userid)) { + list.forEach(task ->{ + TPointsdtl dtl = pointsDtlDao.findTopByUseridAndTypeAndRefnoOrderByIdDesc(userid, TradeDict.TASK_FLAG_FINISH, task.getTaskid()); + if (dtl != null) { + task.setLasttime(dtl.getTransdate() + dtl.getTranstime()); + } + }); + } return JsonResult.ok().put("dataList",pointsTaskDao.findAll(Sort.by(Sort.Direction.ASC,"ordernum"))); } + @Override + public TPointsdtl getTaskStatus(String userid, Integer taskid) { + return pointsDtlDao.findTopByUseridAndTypeAndRefnoOrderByIdDesc(userid, TradeDict.TASK_FLAG_FINISH, taskid); + } + @Override public JsonResult pointsOutdate(){ String yesterday = DateUtil.getYesterdayDay(); 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 de8dd4a2..755d619a 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 @@ -188,8 +188,8 @@ class UserAPIController { } } @PostMapping("/getTask") - fun getTPointsTaskNoPage(): ResponseEntity { - val ret = pointsService.getTPointsTaskNoPage() + fun getTPointsTaskNoPage(userid:String?): ResponseEntity { + val ret = pointsService.getTPointsTaskNoPage(userid) return if(ret.get("code")==200){ ResponseEntity.ok(ResponseBodyBuilder.create().data("data", ret.get("dataList")!!) .success("ok")) @@ -198,6 +198,16 @@ class UserAPIController { .fail(500, ret.get("msg") as String)) } } + @PostMapping("/getTaskStatus") + fun getTaskStatus(userid:String,taskid:Int): ResponseEntity { + val dtl = pointsService.getTaskStatus(userid,taskid) + var time = "" + if (dtl != null) { + time = dtl.transdate + dtl.transtime + } + return ResponseEntity.ok(ResponseBodyBuilder.create().data("data",time) + .success("ok")) + } @PostMapping("/getUserPoints") fun getUserPoints(@RequestBody param: UserPointsParam): ResponseEntity { var lev = LevelBean() @@ -403,4 +413,19 @@ class UserAPIController { .fail(500, resp.retmsg)) } } + + /** + * 查询用户是否完成了首次消费任务 + */ + @PostMapping("/consumetask") + fun consumeTask(userid:String): ResponseEntity { + val flag = userService.findPersonIsConsume(userid) + return if (flag) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .success("ok")) + } else { + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(400,"未完成首次消费任务")) + } + } } 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 ce708b1e..b98129a8 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 @@ -230,4 +230,8 @@ class UserServiceImpl : UserService { return null } } + + override fun findPersonIsConsume(userid: String): Boolean { + return persondtlDao.findTopByUseridAndStatusAndTradeflag(userid, TradeDict.DTL_STATUS_SUCCESS, TradeDict.TRADE_FLAG_OUT) != null + } } \ No newline at end of file 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 26fc2ff7..a439f448 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 @@ -54,4 +54,7 @@ interface UserService { @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true) fun findPersondtlDetailByUserid(userid:String, billno :String) : TPersondtl? + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true) + fun findPersonIsConsume(userid:String): Boolean + } \ No newline at end of file