parent
606ee82d3c
commit
158138c2a0
@ -0,0 +1,11 @@
|
|||||||
|
package au.com.royalpay.payment.manage.management.clearing.core;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface SettleTasksService {
|
||||||
|
List<JSONObject> listLiveTasks();
|
||||||
|
|
||||||
|
JSONObject currentProcessingStatus();
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
package au.com.royalpay.payment.manage.management.clearing.core.impl;
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.manage.management.clearing.core.SettleTasksService;
|
||||||
|
import au.com.royalpay.payment.manage.mappers.system.SysSettlePlanMapper;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class SettleTaskServiceImpl implements SettleTasksService {
|
||||||
|
private SysSettlePlanMapper planMapper;
|
||||||
|
private StringRedisTemplate redisTemplate;
|
||||||
|
private String prefix;
|
||||||
|
|
||||||
|
public SettleTaskServiceImpl(SysSettlePlanMapper planMapper, StringRedisTemplate redisTemplate,
|
||||||
|
@Value("${app.redis.prefix}") String prefix) {
|
||||||
|
this.planMapper = planMapper;
|
||||||
|
this.redisTemplate = redisTemplate;
|
||||||
|
this.prefix = prefix;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<JSONObject> listLiveTasks() {
|
||||||
|
return planMapper.listPlans();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String statusKey() {
|
||||||
|
return prefix + ":settlement_progress";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject currentProcessingStatus() {
|
||||||
|
String std = redisTemplate.boundValueOps(statusKey()).get();
|
||||||
|
if (StringUtils.isEmpty(std)) {
|
||||||
|
JSONObject idleStatus = new JSONObject();
|
||||||
|
idleStatus.put("processing", false);
|
||||||
|
idleStatus.put("interrupted", false);
|
||||||
|
return idleStatus;
|
||||||
|
}
|
||||||
|
JSONObject stdObj = JSON.parseObject(std);
|
||||||
|
if (!stdObj.getBooleanValue("processing")) {
|
||||||
|
stdObj.put("interrupted", true);
|
||||||
|
}
|
||||||
|
return stdObj;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package au.com.royalpay.payment.manage.management.clearing.web;
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.manage.management.clearing.core.SettleTasksService;
|
||||||
|
import au.com.royalpay.payment.manage.permission.manager.ManagerMapping;
|
||||||
|
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@ManagerMapping(value = "/sys/settle_tasks", role = {ManagerRole.FINANCIAL_STAFF, ManagerRole.DEVELOPER})
|
||||||
|
public class SettleTasksController {
|
||||||
|
private SettleTasksService svc;
|
||||||
|
|
||||||
|
public SettleTasksController(SettleTasksService svc) {
|
||||||
|
this.svc = svc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
public List<JSONObject> listTasks() {
|
||||||
|
return svc.listLiveTasks();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/current_progress")
|
||||||
|
public JSONObject getProcessingStatus() {
|
||||||
|
return svc.currentProcessingStatus();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package au.com.royalpay.payment.manage.mappers.system;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.yixsoft.support.mybatis.autosql.annotations.AdvanceSelect;
|
||||||
|
import com.yixsoft.support.mybatis.autosql.annotations.AutoMapper;
|
||||||
|
import com.yixsoft.support.mybatis.autosql.annotations.AutoSql;
|
||||||
|
import com.yixsoft.support.mybatis.autosql.annotations.SqlType;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@AutoMapper(tablename = "sys_settlement_plan", pkName = "plan_id")
|
||||||
|
public interface SysSettlePlanMapper {
|
||||||
|
@AdvanceSelect(excludeColumns = "whitelist_clients")
|
||||||
|
List<JSONObject> listPlans();
|
||||||
|
|
||||||
|
@AutoSql(SqlType.SELECT)
|
||||||
|
JSONObject findPlanDetail(String planId);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue