|
|
@@ -21,6 +21,7 @@ import com.txz.cif.service.WithdrawRecordService;
|
|
|
import com.txz.cif.web.bo.WithdrawRecordBO;
|
|
|
import com.txz.cif.web.para.RecordParam;
|
|
|
import com.txz.cif.web.para.ReviewParam;
|
|
|
+import com.txz.cif.web.vo.ListVO;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.slf4j.Logger;
|
|
|
@@ -32,8 +33,12 @@ import tk.mybatis.mapper.entity.Example.Criteria;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.ServletOutputStream;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by CodeGenerator on 2025/07/15.
|
|
|
@@ -122,54 +127,97 @@ public class WithdrawRecordController {
|
|
|
|
|
|
@PostMapping("/list")
|
|
|
@ApiOperation(value = "withdrawRecord获取列表", httpMethod = "POST")
|
|
|
- public Result<List<WithdrawRecord>> list(@RequestBody RecordParam param) {
|
|
|
+ public Result<ListVO<PageInfo<WithdrawRecord>>> list(@RequestBody RecordParam param) {
|
|
|
|
|
|
PageHelper.startPage(param.getPage(), param.getSize());
|
|
|
|
|
|
Condition condition = new Condition(WithdrawRecord.class);
|
|
|
Criteria criteria = condition.createCriteria();
|
|
|
+ HashMap<String,String> map = new HashMap<>();
|
|
|
if (StrUtil.isNotBlank(param.getChannel())) {
|
|
|
criteria.andEqualTo("channel", param.getChannel());
|
|
|
+ map.put("channel", param.getChannel());
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(param.getMethodName())) {
|
|
|
criteria.andEqualTo("bank", param.getMethodName());
|
|
|
+ map.put("bank", param.getMethodName());
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(param.getUserName())) {
|
|
|
criteria.andEqualTo("userName", param.getUserName());
|
|
|
+ map.put("userName", param.getUserName());
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(param.getUserPhone())) {
|
|
|
criteria.andEqualTo("userPhone", param.getUserPhone());
|
|
|
+ map.put("userPhone", param.getUserPhone());
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(param.getOrderNo())) {
|
|
|
criteria.andEqualTo("orderNo", param.getOrderNo());
|
|
|
+ map.put("orderNo", param.getOrderNo());
|
|
|
+
|
|
|
}
|
|
|
if (param.getStatus() != null) {
|
|
|
criteria.andEqualTo("status", param.getStatus());
|
|
|
+ map.put("status", param.getStatus()+"");
|
|
|
}
|
|
|
if (param.getAccountType() != null) {
|
|
|
criteria.andEqualTo("accountType", param.getAccountType());
|
|
|
+ map.put("accountType", param.getAccountType()+"");
|
|
|
}
|
|
|
if (param.getTimeType() != null) {
|
|
|
if (param.getTimeType() == 1) {
|
|
|
if (StrUtil.isNotBlank(param.getStartTime())) {
|
|
|
criteria.andBetween("createTime", param.getStartTime(), param.getEndTime());
|
|
|
+ map.put("startTime", param.getStartTime());
|
|
|
+ map.put("endTime", param.getEndTime());
|
|
|
}
|
|
|
} else if (param.getTimeType() == 2) {
|
|
|
if (StrUtil.isNotBlank(param.getStartTime())) {
|
|
|
criteria.andBetween("successTime", param.getStartTime(), param.getEndTime());
|
|
|
+ map.put("startSuccessTime", param.getStartTime());
|
|
|
+ map.put("endSuccessTime", param.getEndTime());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ ListVO<PageInfo<WithdrawRecord>> vo = new ListVO();
|
|
|
+
|
|
|
PageInfo pageInfo = null;
|
|
|
try {
|
|
|
condition.setOrderByClause("create_time desc");
|
|
|
List<WithdrawRecord> list = withdrawRecordService.findByCondition(condition);
|
|
|
pageInfo = new PageInfo(list);
|
|
|
+ vo.setList(pageInfo);
|
|
|
+ Integer num = withdrawRecordService.countByCondition(condition);
|
|
|
+ if (num == null){
|
|
|
+ num=0;
|
|
|
+ }
|
|
|
+ vo.setOrderNum(num);
|
|
|
+ BigDecimal amount = withdrawRecordService.sumByMap(map);
|
|
|
+ if (amount == null){
|
|
|
+ amount=BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ vo.setOrderAmount(amount);
|
|
|
+ criteria.andEqualTo("status", 4);
|
|
|
+ map.put("status", "4");
|
|
|
+ Integer successNum = withdrawRecordService.countByCondition(condition);
|
|
|
+ if (successNum == null){
|
|
|
+ successNum=0;
|
|
|
+ }
|
|
|
+ vo.setSuccessNum(successNum);
|
|
|
+ BigDecimal successAmount = withdrawRecordService.sumByMap(map);
|
|
|
+ if (successAmount == null){
|
|
|
+ successAmount=BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ vo.setSuccessAmount(successAmount);
|
|
|
+ BigDecimal successRate = BigDecimal.ZERO;
|
|
|
+ if (num != 0){
|
|
|
+ successRate=BigDecimal.valueOf(successNum).divide(BigDecimal.valueOf(num),2, RoundingMode.DOWN);
|
|
|
+ }
|
|
|
+ vo.setSuccessRate(successRate);
|
|
|
+ return ResultGenerator.genSuccessResult(vo);
|
|
|
} catch (Exception e) {
|
|
|
log.error("查询对象操作异常e:{}", e);
|
|
|
return ResultGenerator.genFailResult(ResultCode.INTERNAL_SERVER_ERROR);
|
|
|
}
|
|
|
- return ResultGenerator.genSuccessResult(pageInfo);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/report")
|