Browse Source

1.15 资金流水账

milestone-20260113-现金管理0109
huangqizhen 6 hours ago
parent
commit
3193e4d407
  1. 6
      src/main/java/com/example/demo/controller/cash/CashRefundController.java
  2. 47
      src/main/java/com/example/demo/domain/vo/cash/FundsDTO.java
  3. 3
      src/main/java/com/example/demo/domain/vo/coin/Page.java
  4. 3
      src/main/java/com/example/demo/mapper/cash/CashRefundMapper.java
  5. 4
      src/main/java/com/example/demo/service/cash/RefundService.java
  6. 8
      src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java
  7. 41
      src/main/resources/cashMapper/CashRefundMapper.xml

6
src/main/java/com/example/demo/controller/cash/CashRefundController.java

@ -401,6 +401,12 @@ public class CashRefundController {
return Result.success(msg);
}
@PostMapping("/funds")
public Result funds(@RequestBody Page page){
refundService.funds(page.getPageNum(), page.getPageSize(), page.getFundsDTO());
return Result.success(refundService.funds(page.getPageNum(), page.getPageSize(), page.getFundsDTO()));
}
/**
* 辅助方法获取用户真实IP处理反向代理/负载均衡场景
*/

47
src/main/java/com/example/demo/domain/vo/cash/FundsDTO.java

@ -0,0 +1,47 @@
package com.example.demo.domain.vo.cash;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @program: GOLD
* @ClassName FundsDTO
* @description:
* @author: huangqizhen
* @create: 202601-15 09:21
* @Version 1.0
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FundsDTO {
private Integer id;
private Integer jwcode;
private String name;
private String market;
private List<String> markets;
private String orderCode;
private String paymentCurrency;
private BigDecimal paymentAmount;
private String receivedCurrency;
private BigDecimal receivedAmount;
private BigDecimal handlingCharge;
private String payType;
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date payTime;
private Integer status;
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime;
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime;
}

3
src/main/java/com/example/demo/domain/vo/coin/Page.java

@ -8,6 +8,7 @@ import com.example.demo.domain.vo.cash.CashCollection;
import com.example.demo.domain.vo.cash.CashRecordDTO;
import com.example.demo.domain.vo.cash.CashRecordDone;
import com.example.demo.domain.vo.cash.PerformanceVO;
import com.example.demo.domain.vo.cash.FundsDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -52,6 +53,8 @@ public class Page {
private CashRecordDone cashRecordDone;
private RechargeActivity rechargeActivity; //充值活动
private CashRecordDTO cashRecordDTO;
private PerformanceDTO performanceDTO;//业绩归属
private FundsDTO fundsDTO;//现金收款
private PerformanceVO performanceVO;//业绩归属
}

3
src/main/java/com/example/demo/mapper/cash/CashRefundMapper.java

@ -38,4 +38,7 @@ public interface CashRefundMapper {
List<LhlAudit> getAuditBatch(Set<Integer> auditIds);
//根据id查订单信息
CashRecordDTO selectById(Integer id);
List<FundsDTO> selectfunds(FundsDTO fundsDTO);
int selectRefundCount(Integer id);
}

4
src/main/java/com/example/demo/service/cash/RefundService.java

@ -3,7 +3,7 @@ package com.example.demo.service.cash;
import com.example.demo.domain.vo.cash.CashRecordDTO;
import com.example.demo.domain.vo.cash.CashRecordDone;
import com.example.demo.domain.vo.cash.CashRecordRefund;
import com.example.demo.domain.vo.coin.Page;
import com.example.demo.domain.vo.cash.FundsDTO;
import com.github.pagehelper.PageInfo;
/**
@ -36,4 +36,6 @@ public interface RefundService {
PageInfo<CashRecordDTO> exSelect(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO);
//新增线上退款记录
void addOnline(CashRecordRefund cashRecordRefund);
PageInfo<FundsDTO> funds(Integer pageNum, Integer pageSize, FundsDTO fundsDTO);
}

8
src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

@ -579,4 +579,12 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
cashRefundMapper.updateStatus(cashRecordDone1);
else throw new SystemException("提交失败") ;
}
@Override
public PageInfo<FundsDTO> funds(Integer pageNum, Integer pageSize, FundsDTO fundsDTO) {
PageHelper.startPage(pageNum, pageSize);
List<FundsDTO> list = cashRefundMapper.selectfunds(fundsDTO);
return new PageInfo<>(list);
}
}

41
src/main/resources/cashMapper/CashRefundMapper.xml

@ -415,6 +415,47 @@
from cash_record_refund crr
where crr.id = #{id}
</select>
<select id="selectfunds" resultType="com.example.demo.domain.vo.cash.FundsDTO">
select crc.id,
crc.jwcode,
crc.name,
crc.market,
crc.order_code,
crc.payment_currency,
crc.payment_amount,
crc.received_currency,
crc.received_amount,
crc.handling_charge,
crc.pay_type,
crc.pay_time,
crc.status
from cash_record_collection crc
where crc.status = 4|| crc.status = 6
<if test="jwcode != null">
and crc.jwcode = #{jwcode}
</if>
<if test="markets!= null and markets.size > 0">
AND crc.market IN
<foreach collection="markets" item="markets" open="(" separator="," close=")">
#{markets}
</foreach>
</if>
<if test="startTime != null and endTime != null">
and crc.`pay_time` BETWEEN #{startTime} AND #{endTime}
</if>
<if test="payType!= null and payType.length > 0">
AND crc.pay_type like CONCAT('%', #{payType}, '%')
</if>
<if test="orderCode!= null and orderCode.length > 0">
AND crc.orderCode like CONCAT('%', #{orderCode}, '%')
</if>
<if test="status!=null">
and crc.status = #{status}
</if>
</select>
<select id="selectRefundCount" resultType="java.lang.Integer">
select
</select>
</mapper>
Loading…
Cancel
Save