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);
@PostMapping("/api/user/qrcode")
Map<String, Object> qrcode(@RequestBody QrcodeParam param);
+
+ @PostMapping("/api/user/consumetask")
+ ApiResponse consumeTask(@RequestParam("userid") String userid);
}
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);
}
TPointsdtl findAllByUseridAndRefnoAndTransdate(String userid,Integer refno,String transdate);
+ TPointsdtl findTopByUseridAndTypeAndRefnoOrderByIdDesc(String userid, String type, Integer refno);
}
@Column(name = "ORDERNUM")
private Integer ordernum;
+ @Transient
+ private String lasttime;
+
public Integer getTaskid() {
return taskid;
}
public void setOrdernum(Integer ordernum) {
this.ordernum = ordernum;
}
+
+ public String getLasttime() {
+ return lasttime;
+ }
+
+ public void setLasttime(String lasttime) {
+ this.lasttime = lasttime;
+ }
}
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")
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);
/*
}
@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();
}
}
@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"))
.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()
.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,"未完成首次消费任务"))
+ }
+ }
}
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
@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