增加查询用户任务积分流水接口
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 6befaec..575d011 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 @@
ApiResponse userTask(@RequestBody UserTaskParam param);
@PostMapping("/api/user/getTask")
- Map<String, Object> getTPointsTaskNoPage();
+ Map<String, Object> getTPointsTaskNoPage(@RequestParam("userid") String userid);
+
+ @PostMapping("/api/user/getTaskStatus")
+ Map<String, Object> getTaskStatus(@RequestParam("userid") String userid,@RequestParam("taskid")Integer taskid);
@PostMapping("/api/user/getUserPoints")
Map<String, Object> getUserPoints(@RequestBody UserPointsParam param);
@@ -69,4 +72,7 @@
@PostMapping("/api/user/qrcode")
Map<String, Object> 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 0f39c37..3be4457 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 @@
List<TPersondtl> findAllByUseridAndTransdateStartingWithAndReverseFlagAndStatusAndTradeflag(String userid, String transdate,String reverseFlag,String status,String tradeflag);
List<TPersondtl> 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 0bbf7a3..5e3d58e 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 @@
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 3bfb71b..c56be1e 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 @@
@Column(name = "ORDERNUM")
private Integer ordernum;
+ @Transient
+ private String lasttime;
+
public Integer getTaskid() {
return taskid;
}
@@ -108,4 +111,12 @@
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 34c2f98..a5fe945 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 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 61f6fd6..7efce69 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 @@
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 27d45b2..2d638b6 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,11 +933,25 @@
}
@Override
- public JsonResult getTPointsTaskNoPage() {
+ public JsonResult getTPointsTaskNoPage(String userid) {
+ List<TPointsTask> 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();
List<TPointsDetail> pointsDetails = pointsDetailDao.findAllByOutDateAndStatus("20200821","normal");
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 de8dd4a..755d619 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 @@
}
}
@PostMapping("/getTask")
- fun getTPointsTaskNoPage(): ResponseEntity<Any> {
- val ret = pointsService.getTPointsTaskNoPage()
+ fun getTPointsTaskNoPage(userid:String?): ResponseEntity<Any> {
+ 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 @@
.fail(500, ret.get("msg") as String))
}
}
+ @PostMapping("/getTaskStatus")
+ fun getTaskStatus(userid:String,taskid:Int): ResponseEntity<Any> {
+ 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<Any> {
var lev = LevelBean()
@@ -403,4 +413,19 @@
.fail(500, resp.retmsg))
}
}
+
+ /**
+ * 查询用户是否完成了首次消费任务
+ */
+ @PostMapping("/consumetask")
+ fun consumeTask(userid:String): ResponseEntity<Any> {
+ 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 ce708b1..b98129a 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 @@
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 26fc2ff..a439f44 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 @@
@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