Browse Source

10-09-现金收款补充手续费

lijianlin/feature-202509231533026-现金管理-收款管理
lijianlin 5 hours ago
parent
commit
e382e77cda
  1. 2
      src/main/java/com/example/demo/controller/cash/CashAuditController.java
  2. 17
      src/main/java/com/example/demo/controller/cash/CashCollectionController.java
  3. 4
      src/main/java/com/example/demo/domain/entity/CashRecord.java
  4. 2
      src/main/java/com/example/demo/domain/vo/cash/CashCollection.java
  5. 2
      src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java
  6. 2
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  7. 2
      src/main/java/com/example/demo/service/cash/CashAuditService.java
  8. 4
      src/main/java/com/example/demo/service/cash/CashCollectionService.java
  9. 10
      src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java
  10. 9
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  11. 8
      src/main/resources/cashMapper/CashAuditMapper.xml
  12. 23
      src/main/resources/cashMapper/CashCollectionMapper.xml

2
src/main/java/com/example/demo/controller/cash/CashAuditController.java

@ -34,7 +34,7 @@ public class CashAuditController {
@PostMapping("/collectionAudit") @PostMapping("/collectionAudit")
public ResponseEntity<Boolean> collectionAudit( public ResponseEntity<Boolean> collectionAudit(
@RequestBody AuditRequest request){ @RequestBody AuditRequest request){
boolean result = cashAuditService.auditCollection(request.getToken(),request.getOrderCode(), request.getAction(),request.getRejectReason());
boolean result = cashAuditService.auditCollection(request.getToken(),request.getAuditId(),request.getOrderCode(), request.getAction(),request.getRejectReason());
return ResponseEntity.ok(result); return ResponseEntity.ok(result);
} }
} }

17
src/main/java/com/example/demo/controller/cash/CashCollectionController.java

@ -63,9 +63,9 @@ public class CashCollectionController {
return Result.error(e.getMessage()); return Result.error(e.getMessage());
} }
} }
//多条件查询收款订单列表----客服版
@PostMapping("/selectCollection1")
public PageInfo<CashCollection> selectCollection1(
//多条件查询收款订单列表
@PostMapping("/selectCollection")
public PageInfo<CashCollection> selectCollection(
@RequestBody Page page) throws Exception{ @RequestBody Page page) throws Exception{
Integer pageNum = page.getPageNum(); Integer pageNum = page.getPageNum();
Integer pageSize = page.getPageSize(); Integer pageSize = page.getPageSize();
@ -79,6 +79,15 @@ public class CashCollectionController {
cashCollection.setMarkets(list); cashCollection.setMarkets(list);
} }
return cashCollectionService.selectCollection1(pageNum, pageSize, cashCollection);
return cashCollectionService.selectCollection(pageNum, pageSize, cashCollection);
}
//补全手续费等
@PostMapping("/complete")
public Result complete(@RequestBody CashRecord cashRecord) {
try {
return cashCollectionService.complete(cashRecord);
}catch (Exception e){
return Result.error(e.getMessage());
}
} }
} }

4
src/main/java/com/example/demo/domain/entity/CashRecord.java

@ -57,9 +57,11 @@ public class CashRecord implements Serializable {
private String voucher; // 转账凭证 private String voucher; // 转账凭证
private String remark; // 备注 private String remark; // 备注
private String rejectReason; // 驳回理由 private String rejectReason; // 驳回理由
private Integer auditId; //审核人Id
private String receivedRemark; // 到账备注
// 退款专用字段 // 退款专用字段
private String refundReason; // 退款备注客服填写
private String refundReason; // 退款原因客服填写
private Integer refundModel; // 退款方式0-全额1-部分 private Integer refundModel; // 退款方式0-全额1-部分
private Integer executor; // 退款执行人 OA private Integer executor; // 退款执行人 OA
private String refundChannels; // 退款途径 private String refundChannels; // 退款途径

2
src/main/java/com/example/demo/domain/vo/cash/CashCollection.java

@ -54,7 +54,9 @@ public class CashCollection implements Serializable {
private String submitterName; // 提交人 姓名 private String submitterName; // 提交人 姓名
private String voucher; // 转账凭证 private String voucher; // 转账凭证
private String remark; // 备注 private String remark; // 备注
private String receivedRemark; //到账备注
private String rejectReason; // 驳回理由 private String rejectReason; // 驳回理由
private String auditId; //审核人id
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime createTime; private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")

2
src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java

@ -14,6 +14,6 @@ import org.apache.ibatis.annotations.Param;
**/ **/
@Mapper @Mapper
public interface CashAuditMapper { public interface CashAuditMapper {
//更新订单
//审核收款订单
void updateOrder (CashRecord updateOrder); void updateOrder (CashRecord updateOrder);
} }

2
src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java

@ -37,4 +37,6 @@ public interface CashCollectionMapper {
//根据订单号查询待审核的现金收款订单 //根据订单号查询待审核的现金收款订单
CashRecord selectUnAuditByOrderCode(@Param("orderCode") String orderCode); CashRecord selectUnAuditByOrderCode(@Param("orderCode") String orderCode);
//补全手续费等信息
int complete(@Param("cashRecord") CashRecord cashRecord);
} }

2
src/main/java/com/example/demo/service/cash/CashAuditService.java

@ -11,5 +11,5 @@ package com.example.demo.service.cash;
public interface CashAuditService { public interface CashAuditService {
//审核收款订单 //审核收款订单
boolean auditCollection(String token, String orderCode, Integer action, String rejectReason);
boolean auditCollection(String token,Integer auditId, String orderCode, Integer action, String rejectReason);
} }

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

@ -22,5 +22,7 @@ public interface CashCollectionService {
//编辑并重新提交收款订单 //编辑并重新提交收款订单
Result reSubmit(CashRecord cashRecord); Result reSubmit(CashRecord cashRecord);
//多条件查询收款订单列表 //多条件查询收款订单列表
PageInfo<CashCollection> selectCollection1(Integer pageNum, Integer pageSize, CashCollection cashCollection);
PageInfo<CashCollection> selectCollection(Integer pageNum, Integer pageSize, CashCollection cashCollection);
//补全手续费等
Result complete(CashRecord cashRecord);
} }

10
src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java

@ -3,6 +3,7 @@ package com.example.demo.serviceImpl.cash;
import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.entity.CashRecord;
import com.example.demo.mapper.cash.CashAuditMapper; import com.example.demo.mapper.cash.CashAuditMapper;
import com.example.demo.mapper.cash.CashCollectionMapper; import com.example.demo.mapper.cash.CashCollectionMapper;
import com.example.demo.mapper.coin.AuditMapper;
import com.example.demo.service.cash.CashAuditService; import com.example.demo.service.cash.CashAuditService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -19,18 +20,23 @@ import org.springframework.transaction.annotation.Transactional;
@Service @Service
public class CashAuditServiceImpl implements CashAuditService { public class CashAuditServiceImpl implements CashAuditService {
@Autowired @Autowired
private AuditMapper auditMapper;
@Autowired
private CashCollectionMapper cashCollectionMapper; private CashCollectionMapper cashCollectionMapper;
@Autowired @Autowired
private CashAuditMapper cashAuditMapper; private CashAuditMapper cashAuditMapper;
@Transactional @Transactional
@Override @Override
public boolean auditCollection(String token, String orderCode, Integer action, String rejectReason) {
public boolean auditCollection(String token,Integer auditId, String orderCode, Integer action, String rejectReason) {
CashRecord order = cashCollectionMapper.selectUnAuditByOrderCode(orderCode); CashRecord order = cashCollectionMapper.selectUnAuditByOrderCode(orderCode);
if (order==null || order.getStatus()!=0){ if (order==null || order.getStatus()!=0){
throw new IllegalArgumentException("订单不存在或已被审核"); throw new IllegalArgumentException("订单不存在或已被审核");
} }
//判断是通过还是驳回更新审核状态
CashRecord updateOrder = new CashRecord(); CashRecord updateOrder = new CashRecord();
//设置审核人
updateOrder.setAuditId(auditId);
//判断是通过还是驳回更新审核状态
updateOrder.setOrderCode(orderCode); updateOrder.setOrderCode(orderCode);
if (action==1){ //通过 if (action==1){ //通过
updateOrder.setStatus(1); updateOrder.setStatus(1);

9
src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java

@ -167,7 +167,7 @@ public class CashCollectionServiceImpl implements CashCollectionService {
} }
//多条件查询收款订单列表 //多条件查询收款订单列表
@Override @Override
public PageInfo<CashCollection> selectCollection1(Integer pageNum, Integer pageSize, CashCollection cashCollection) {
public PageInfo<CashCollection> selectCollection(Integer pageNum, Integer pageSize, CashCollection cashCollection) {
//将操作人的地区列表改为id //将操作人的地区列表改为id
List<String> markets = marketMapper.getMarketIds(cashCollection.getMarkets()); List<String> markets = marketMapper.getMarketIds(cashCollection.getMarkets());
if (markets.contains("9") || markets.contains("9999")){ if (markets.contains("9") || markets.contains("9999")){
@ -178,4 +178,11 @@ public class CashCollectionServiceImpl implements CashCollectionService {
List<CashCollection> cashCollections = cashCollectionMapper.selectCollection1(pageNum, pageSize, cashCollection); List<CashCollection> cashCollections = cashCollectionMapper.selectCollection1(pageNum, pageSize, cashCollection);
return new PageInfo<>(cashCollections); return new PageInfo<>(cashCollections);
} }
//补全手续费等内容
@Override
public Result complete(CashRecord cashRecord) {
int rows = cashCollectionMapper.complete(cashRecord);
return rows > 0 ? Result.success("编辑成功") : Result.error("编辑失败");
}
} }

8
src/main/resources/cashMapper/CashAuditMapper.xml

@ -2,11 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.cash.CashAuditMapper"> <mapper namespace="com.example.demo.mapper.cash.CashAuditMapper">
<!--审核收款订单-->
<update id="updateOrder"> <update id="updateOrder">
update cash_record update cash_record
set status=#{status}, set status=#{status},
reject_reason=#{rejectReason}
where order_code=#{orderCode} and status=0
reject_reason=#{rejectReason},
audit_id=#{auditId},
audit_time=now()
where order_code=#{orderCode} and status=0
</update> </update>
</mapper> </mapper>

23
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -16,6 +16,7 @@
#{paymentAmount},#{receivedMarket},#{payType},#{payTime}, #{paymentAmount},#{receivedMarket},#{payType},#{payTime},
#{status},#{submitterId},#{voucher},#{remark}) #{status},#{submitterId},#{voucher},#{remark})
</insert> </insert>
<!--更新订单状态--> <!--更新订单状态-->
<update id="updateStatus"> <update id="updateStatus">
update cash_record update cash_record
@ -44,6 +45,19 @@
WHERE order_code = #{cashRecord.orderCode} WHERE order_code = #{cashRecord.orderCode}
AND status = 5 AND status = 5
</update> </update>
<!--补全手续费等字段-->
<update id="complete">
update cash_record
set handling_charge=#{cashRecord.handlingCharge},
received_currency=#{cashRecord.receivedCurrency},
received_amount=#{cashRecord.receivedAmount},
received_time=#{cashRecord.receivedTime},
received_remark= #{cashRecord.receivedRemark},
status=4,
bank_code= #{cashRecord.bankCode}
where order_code=#{cashRecord.orderCode} and status in (1,3)
</update>
<!--根据jwcode获取所属地区--> <!--根据jwcode获取所属地区-->
<select id="getMarketByJwcode" resultType="java.lang.String"> <select id="getMarketByJwcode" resultType="java.lang.String">
select market from user where jwcode=#{jwcode} select market from user where jwcode=#{jwcode}
@ -61,12 +75,13 @@
cr.received_currency,cr.received_amount,cr.handling_charge, cr.received_currency,cr.received_amount,cr.handling_charge,
cr.received_market,cr.pay_type,cr.pay_time,cr.received_time, cr.received_market,cr.pay_type,cr.pay_time,cr.received_time,
cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason, cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason,
cr.create_time,cr.update_time,
a.admin_name as submitterName
cr.create_time,cr.update_time,cr.audit_time,
a.admin_name as submitterName,
a2.admin_name as auditName
from cash_record cr from cash_record cr
left join admin a on cr.submitter_id = a.account
left join admin a1 on cr.submitter_id = a1.id
left join admin a2 on cr.audit_id = a2.id
<where> <where>
1 = 1 1 = 1
/*判断market 是否不为总部且 markets 不为空*/ /*判断market 是否不为总部且 markets 不为空*/

Loading…
Cancel
Save