diff --git a/pom.xml b/pom.xml index 27623e8..215085e 100644 --- a/pom.xml +++ b/pom.xml @@ -209,6 +209,22 @@ src/main/resources true + + + src/main/resources + + **/*.xml + **/*.yml + **/*.properties + + + + + src/main/java + + **/*.xml + + diff --git a/src/main/java/com/example/demo/Util/BaseDES.java b/src/main/java/com/example/demo/Util/BaseDES.java index aeb930e..0ed4dd0 100644 --- a/src/main/java/com/example/demo/Util/BaseDES.java +++ b/src/main/java/com/example/demo/Util/BaseDES.java @@ -91,7 +91,7 @@ public class BaseDES { public static void main(String args[]) { try { BaseDES d = new BaseDES(); - String encryptedText = d.encrypt("94616995"); + String encryptedText = d.encrypt("90048130"); System.out.println("加密结果:" + encryptedText); System.out.println("加密字符串:90005179》"+d.encrypt("90005179")); System.out.println("解密字符串:6aaef5277c050f7ae383f816651098ff》"+d.decrypt("6aaef5277c050f7ae383f816651098ff")); diff --git a/src/main/java/com/example/demo/config/FlowableDataSourceConfig.java b/src/main/java/com/example/demo/config/FlowableDataSourceConfig.java index 1fe189b..4183be8 100644 --- a/src/main/java/com/example/demo/config/FlowableDataSourceConfig.java +++ b/src/main/java/com/example/demo/config/FlowableDataSourceConfig.java @@ -7,6 +7,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; @@ -16,6 +17,7 @@ import javax.sql.DataSource; public class FlowableDataSourceConfig { @Bean(name = "flowableDataSource") + @Primary @ConfigurationProperties(prefix = "spring.datasource.flowable") public DataSource flowableDataSource() { HikariDataSource ds = DataSourceBuilder @@ -27,6 +29,7 @@ public class FlowableDataSourceConfig { } @Bean(name = "flowableTransactionManager") + @Primary public PlatformTransactionManager flowableTransactionManager( @Qualifier("flowableDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); diff --git a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java index 9253a9b..717a28b 100644 --- a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java +++ b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java @@ -48,7 +48,7 @@ public DataSource mysql1DataSource() { @Qualifier("globalConfiguration1") org.apache.ibatis.session.Configuration globalConfiguration1) throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); - sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml")); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:{mapper,cashMapper}/*.xml")); sessionFactory.setConfiguration(globalConfiguration1); return sessionFactory.getObject(); } diff --git a/src/main/java/com/example/demo/controller/cash/CashAuditController.java b/src/main/java/com/example/demo/controller/cash/CashAuditController.java new file mode 100644 index 0000000..0ace10f --- /dev/null +++ b/src/main/java/com/example/demo/controller/cash/CashAuditController.java @@ -0,0 +1,40 @@ +package com.example.demo.controller.cash; + +import com.example.demo.config.interfac.Log; +import com.example.demo.domain.vo.coin.AuditRequest; +import com.example.demo.service.cash.CashAuditService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +/** + * @program: gold-java + * @ClassName CashAuditController + * @description: + * @author: Ethan + * @create: 2025−10-08 10:02 + * @Version 1.0 + **/ + +@RestController +@RequestMapping("/cashAudit") +@RequiredArgsConstructor +@Slf4j + +@CrossOrigin +public class CashAuditController { + + @Autowired + private CashAuditService cashAuditService; + + //收款审核 + @Log("收款审核") + @PostMapping("/collectionAudit") + public ResponseEntity collectionAudit( + @RequestBody AuditRequest request){ + boolean result = cashAuditService.auditCollection(request.getToken(),request.getAuditId(),request.getOrderCode(), request.getAction(),request.getRejectReason()); + return ResponseEntity.ok(result); + } +} diff --git a/src/main/java/com/example/demo/controller/cash/CashCollectionController.java b/src/main/java/com/example/demo/controller/cash/CashCollectionController.java index b1adbad..b898547 100644 --- a/src/main/java/com/example/demo/controller/cash/CashCollectionController.java +++ b/src/main/java/com/example/demo/controller/cash/CashCollectionController.java @@ -1,12 +1,23 @@ package com.example.demo.controller.cash; +import com.example.demo.Util.JWTUtil; +import com.example.demo.domain.entity.Admin; +import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.vo.cash.CashCollection; +import com.example.demo.domain.vo.coin.Page; import com.example.demo.domain.vo.coin.Result; import com.example.demo.service.cash.CashCollectionService; +import com.github.pagehelper.PageInfo; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.Arrays; +import java.util.List; /** * @program: gold-java @@ -25,12 +36,58 @@ public class CashCollectionController { @Autowired private CashCollectionService cashCollectionService; + //新增收款订单 @PostMapping("/add") public Result add(@RequestBody CashCollection cashCollection) { try { return cashCollectionService.add(cashCollection); } catch (Exception e) { - return Result.error("请检查数据的格式"); + return Result.error(e.getMessage()); + } + } + //撤回未审核的收款订单 + @PostMapping("/cancel") + public Result cancel(@RequestBody CashRecord cashRecord) { + try { + return cashCollectionService.cancel(cashRecord.getOrderCode()); + }catch (Exception e){ + return Result.error(e.getMessage()); + } + } + //重新提交审核的收款订单 + @PostMapping("/reSubmit") + public Result reSubmit(@RequestBody CashRecord cashRecord) { + try { + return cashCollectionService.reSubmit(cashRecord); + }catch (Exception e){ + return Result.error(e.getMessage()); + } + } + //多条件查询收款订单列表 + @PostMapping("/selectCollection") + public PageInfo selectCollection( + @RequestBody Page page) throws Exception{ + Integer pageNum = page.getPageNum(); + Integer pageSize = page.getPageSize(); + CashCollection cashCollection = page.getCashCollection(); + //解token权限 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String token = request.getHeader("token"); + Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); + if (admin != null) { + List list = Arrays.asList(admin.getMarkets().split(",")); + cashCollection.setMarkets(list); + + } + 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()); } } } diff --git a/src/main/java/com/example/demo/controller/coin/RefundController.java b/src/main/java/com/example/demo/controller/coin/RefundController.java index 903d001..1a82402 100644 --- a/src/main/java/com/example/demo/controller/coin/RefundController.java +++ b/src/main/java/com/example/demo/controller/coin/RefundController.java @@ -128,7 +128,7 @@ public class RefundController { return Result.success(list); } - //消耗金币增加 + //消耗金币退款 @Log("新增金币退款") @PostMapping("/add") public Result add(@RequestBody RefundUser refundUser) { diff --git a/src/main/java/com/example/demo/domain/entity/CashRecord.java b/src/main/java/com/example/demo/domain/entity/CashRecord.java index 690cc3e..36de1fe 100644 --- a/src/main/java/com/example/demo/domain/entity/CashRecord.java +++ b/src/main/java/com/example/demo/domain/entity/CashRecord.java @@ -57,9 +57,11 @@ public class CashRecord implements Serializable { private String voucher; // 转账凭证 private String remark; // 备注 private String rejectReason; // 驳回理由 + private Integer auditId; //审核人Id + private String receivedRemark; // 到账备注 // 退款专用字段 - private String refundReason; // 退款备注(客服填写) + private String refundReason; // 退款原因(客服填写) private Integer refundModel; // 退款方式:0-全额,1-部分 private Integer executor; // 退款执行人 OA 号 private String refundChannels; // 退款途径 diff --git a/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java b/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java index 1f94e13..f01ba91 100644 --- a/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java +++ b/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java @@ -8,6 +8,7 @@ import lombok.NoArgsConstructor; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * @program: gold-java @@ -33,7 +34,7 @@ public class CashCollection implements Serializable { private String orderCode; // 金币订单号 private String bankCode; // 银行流水订单号 private String goodsName; // 商品名称 - private String goodsNum; // 商品数量 + private Integer goodNum; // 商品数量 //金额信息 private String paymentCurrency; // 付款币种 private BigDecimal paymentAmount; // 付款金额 @@ -43,16 +44,31 @@ public class CashCollection implements Serializable { private String receivedMarket; //到账地区 // 支付信息 private String payType; // 支付方式 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime payTime; // 付款日期(秒级) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime receivedTime; // 到账日期(秒级) //状态 操作人 private Integer status; // 订单状态 private Integer submitterId; // 提交人 id + private String submitterName; // 提交人 姓名 private String voucher; // 转账凭证 private String remark; // 备注 + private String receivedRemark; //到账备注 private String rejectReason; // 驳回理由 + private String auditId; //审核人id @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime updateTime; -} + + //搜索筛条件 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime startTime; // 付款时间起 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime endTime; // 付款时间止 + private String sortField; //排序字段 + private String sortOrder; //排序顺序 + private List markets; // 所属地区列表 + + } diff --git a/src/main/java/com/example/demo/domain/vo/coin/Page.java b/src/main/java/com/example/demo/domain/vo/coin/Page.java index 270e054..6b2a982 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/Page.java +++ b/src/main/java/com/example/demo/domain/vo/coin/Page.java @@ -41,5 +41,5 @@ public class Page { private BeanUserCard beanUserCard; //客户金豆卡片 private BeanAuditInfo beanAuditInfo; //金豆审核信息 private HistoryRecord historyRecord; //历史记录 - private CashCollection cashCollection; + private CashCollection cashCollection; //现金收款 } diff --git a/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java b/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java new file mode 100644 index 0000000..71d028d --- /dev/null +++ b/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java @@ -0,0 +1,19 @@ +package com.example.demo.mapper.cash; + +import com.example.demo.domain.entity.CashRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @program: gold-java + * @ClassName cashAuditMapper + * @description: + * @author: Ethan + * @create: 2025−10-08 15:02 + * @Version 1.0 + **/ +@Mapper +public interface CashAuditMapper { + //审核收款订单 + void updateOrder (CashRecord updateOrder); +} diff --git a/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java b/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java new file mode 100644 index 0000000..f51def2 --- /dev/null +++ b/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java @@ -0,0 +1,42 @@ +package com.example.demo.mapper.cash; + +import com.example.demo.domain.entity.CashRecord; +import com.example.demo.domain.vo.cash.CashCollection; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName CashCollectionMapper + * @description: + * @author: Ethan + * @create: 2025−09-26 17:17 + * @Version 1.0 + **/ +@Mapper +public interface CashCollectionMapper { + + //根据jwcode获取所属地区 + String getMarketByJwcode(@Param("jwcode") Integer jwcode); + //新增收款订单 + void add(CashRecord cashRecord); + //根据订单号获取订单id,状态 + CashRecord selectByOrderCode(@Param("orderCode") String orderCode); + //更新订单状态 + int updateStatus(@Param("orderCode") String orderCode, + @Param("status") Integer status); + //编辑订单 + // 编辑订单(状态=5)后重新提交 + int updateByOrderCode(@Param("cashRecord") CashRecord cashRecord); + //多条件查询收款订单列表 + List selectCollection1(@Param("pageNum") Integer pageNum, + @Param("pageSize") Integer pageSize, + @Param("cashCollection") CashCollection cashCollection); + + //根据订单号查询待审核的现金收款订单 + CashRecord selectUnAuditByOrderCode(@Param("orderCode") String orderCode); + //补全手续费等信息 + int complete(@Param("cashRecord") CashRecord cashRecord); +} diff --git a/src/main/java/com/example/demo/service/cash/CashAuditService.java b/src/main/java/com/example/demo/service/cash/CashAuditService.java new file mode 100644 index 0000000..bfca84a --- /dev/null +++ b/src/main/java/com/example/demo/service/cash/CashAuditService.java @@ -0,0 +1,15 @@ +package com.example.demo.service.cash; + +/** + * @program: gold-java + * @ClassName CashAuditService + * @description: + * @author: Ethan + * @create: 2025−10-08 10:08 + * @Version 1.0 + **/ + +public interface CashAuditService { + //审核收款订单 + boolean auditCollection(String token,Integer auditId, String orderCode, Integer action, String rejectReason); +} diff --git a/src/main/java/com/example/demo/service/cash/CashCollectionService.java b/src/main/java/com/example/demo/service/cash/CashCollectionService.java index 63482bd..7e9e8fd 100644 --- a/src/main/java/com/example/demo/service/cash/CashCollectionService.java +++ b/src/main/java/com/example/demo/service/cash/CashCollectionService.java @@ -1,7 +1,9 @@ package com.example.demo.service.cash; +import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.coin.Result; +import com.github.pagehelper.PageInfo; /** * @program: gold-java @@ -13,6 +15,14 @@ import com.example.demo.domain.vo.coin.Result; **/ public interface CashCollectionService { - + //新增收款订单 Result add(CashCollection cashCollection); + //撤回未审核的收款订单 + Result cancel(String orderCode); + //编辑并重新提交收款订单 + Result reSubmit(CashRecord cashRecord); + //多条件查询收款订单列表 + PageInfo selectCollection(Integer pageNum, Integer pageSize, CashCollection cashCollection); + //补全手续费等 + Result complete(CashRecord cashRecord); } diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java new file mode 100644 index 0000000..55b9bc2 --- /dev/null +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java @@ -0,0 +1,52 @@ +package com.example.demo.serviceImpl.cash; + +import com.example.demo.domain.entity.CashRecord; +import com.example.demo.mapper.cash.CashAuditMapper; +import com.example.demo.mapper.cash.CashCollectionMapper; +import com.example.demo.mapper.coin.AuditMapper; +import com.example.demo.service.cash.CashAuditService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @program: gold-java + * @ClassName CashAuditServiceImpl + * @description: + * @author: Ethan + * @create: 2025−10-08 10:09 + * @Version 1.0 + **/ +@Service +public class CashAuditServiceImpl implements CashAuditService { + @Autowired + private AuditMapper auditMapper; + @Autowired + private CashCollectionMapper cashCollectionMapper; + @Autowired + private CashAuditMapper cashAuditMapper; + @Transactional + @Override + public boolean auditCollection(String token,Integer auditId, String orderCode, Integer action, String rejectReason) { + CashRecord order = cashCollectionMapper.selectUnAuditByOrderCode(orderCode); + + if (order==null || order.getStatus()!=0){ + throw new IllegalArgumentException("订单不存在或已被审核"); + } + CashRecord updateOrder = new CashRecord(); + //设置审核人 + updateOrder.setAuditId(auditId); + //判断是通过还是驳回,更新审核状态 + updateOrder.setOrderCode(orderCode); + if (action==1){ //通过 + updateOrder.setStatus(1); + } + else if (action==2){ //驳回 + updateOrder.setStatus(2); + updateOrder.setRejectReason(rejectReason); + } + //更新订单 + cashAuditMapper.updateOrder(updateOrder); + return true; + } +} diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java index 6cb7e6c..f5c4b38 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java @@ -4,9 +4,12 @@ import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.coin.Result; import com.example.demo.service.cash.CashCollectionService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; import java.util.UUID; /** @@ -20,7 +23,12 @@ import java.util.UUID; @Service public class CashCollectionServiceImpl implements CashCollectionService { + @Autowired + private CashCollectionMapper cashCollectionMapper; + @Autowired + private MarketMapper marketMapper; + //新增收款订单 @Override public Result add(CashCollection cashCollection) { if (cashCollection.getJwcode()==null){ @@ -38,7 +46,7 @@ public class CashCollectionServiceImpl implements CashCollectionService { if(cashCollection.getGoodsName()== null){ return Result.error("商品名不能为空"); } - if(cashCollection.getGoodsNum()== null){ + if(cashCollection.getGoodNum()== null){ return Result.error("商品数量不能为空"); } if(cashCollection.getPaymentCurrency()== null){ @@ -65,7 +73,114 @@ public class CashCollectionServiceImpl implements CashCollectionService { //生成订单号后半部分 String orderNumber = UUID.randomUUID().toString().replaceAll("-", ""); CashRecord cashRecord = new CashRecord(); - cashRecord.setOrderCode("XJ_" + orderNumber); - return Result.success("添加成功",cashRecord); + //构建订单信息 + cashRecord.setOrderCode("XJ_" + orderNumber); //订单号 + cashRecord.setJwcode(cashCollection.getJwcode()); //精网号 + cashRecord.setName(cashCollection.getName()); //客户姓名 + cashRecord.setActivity(cashCollection.getActivity()); // 活动 + cashRecord.setGoodsName(cashCollection.getGoodsName()); //商品名称 + cashRecord.setGoodNum(cashCollection.getGoodNum()); //商品数量 + cashRecord.setPaymentCurrency(cashCollection.getPaymentCurrency()); //付款币种 + cashRecord.setPaymentAmount(cashCollection.getPaymentAmount()); //付款金额 + cashRecord.setReceivedMarket(cashCollection.getReceivedMarket()); //到账地区 + cashRecord.setPayType(cashCollection.getPayType()); //支付方式 + cashRecord.setPayTime(cashCollection.getPayTime()); //付款时间 + cashRecord.setVoucher(cashCollection.getVoucher()); //转账凭证 + cashRecord.setRemark(cashCollection.getRemark()); //备注 + cashRecord.setStatus(0); //订单状态:付款线下财务待审核 + cashRecord.setSubmitterId(cashCollection.getSubmitterId()); //提交人ID + cashRecord.setOrderType(1); //订单类型:1-收款 + //地区,根据jwcode插入 + cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(cashRecord.getJwcode())); + //插入新收款订单 + cashCollectionMapper.add(cashRecord); + + return Result.success("添加成功"); + } + //撤回未审核的订单 + @Override + public Result cancel(String orderCode) { + CashRecord cashRecord = cashCollectionMapper.selectByOrderCode(orderCode); + if (cashRecord == null) { + return Result.error("订单不存在"); + } + if (cashRecord.getStatus() != 0){ + return Result.error("订单状态不符合条件"); + } + //修改订单状态 + int rows = cashCollectionMapper.updateStatus(orderCode, 5); + return rows > 0 ? Result.success("撤回成功") : Result.error("撤回失败"); + } + + //编辑并重新提交收款订单 + @Override + public Result reSubmit(CashRecord cashRecord) { + if (cashRecord.getJwcode()==null){ + return Result.error("精网号不能为空"); + } + if(cashRecord.getJwcode()<10000000||cashRecord.getJwcode()>99999999){ + return Result.error("精网号必须为8位"); + } + if(cashRecord.getName()== null){ + return Result.error("客户姓名不能为空"); + } + if(cashRecord.getActivity()== null){ + return Result.error("活动不能为空"); + } + if(cashRecord.getGoodsName()== null){ + return Result.error("商品名不能为空"); + } + if(cashRecord.getGoodNum()== null){ + return Result.error("商品数量不能为空"); + } + if(cashRecord.getPaymentCurrency()== null){ + return Result.error("支付币种不能为空"); + } + if(cashRecord.getPaymentAmount()== null){ + return Result.error("支付金额不能为空"); + } + if (cashRecord.getPayType()== null){ + return Result.error("支付方式不能为空"); + } + if (cashRecord.getReceivedMarket()== null){ + return Result.error("到账地区不能为空"); + } + if(cashRecord.getPayTime()== null){ + return Result.error("付款时间不能为空"); + } + if (cashRecord.getVoucher()== null){ + return Result.error("转账凭证不能为空"); + } + if (cashRecord.getRemark()==null){ + return Result.error("备注不能为空"); + } + CashRecord status=cashCollectionMapper.selectByOrderCode(cashRecord.getOrderCode()); + if (!status.getStatus().equals(5)){ + return Result.error("只允许编辑已撤回订单"); + } + //地区,根据jwcode插入 + cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(cashRecord.getJwcode())); + int rows = cashCollectionMapper.updateByOrderCode(cashRecord); + return rows > 0 ? Result.success("重新提交成功") : Result.error("重新提交失败"); + } + //多条件查询收款订单列表 + @Override + public PageInfo selectCollection(Integer pageNum, Integer pageSize, CashCollection cashCollection) { + //将操作人的地区列表改为id + List markets = marketMapper.getMarketIds(cashCollection.getMarkets()); + if (markets.contains("9") || markets.contains("9999")){ + markets=null; + } + cashCollection.setMarkets(markets); + PageHelper.startPage(pageNum, pageSize); + List cashCollections = cashCollectionMapper.selectCollection1(pageNum, pageSize, cashCollection); + return new PageInfo<>(cashCollections); + } + //补全手续费等内容 + @Override + public Result complete(CashRecord cashRecord) { + int rows = cashCollectionMapper.complete(cashRecord); + + return rows > 0 ? Result.success("编辑成功") : Result.error("编辑失败"); } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index efd57a2..71be8c5 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -15,6 +15,8 @@ spring: name: demo mybatis: type-handlers-package: com.example.demo.Util + mapper-locations: classpath*:**/*Mapper.xml + type-aliases-package: com.example.demo.domain.entity configuration: mysql1: map-underscore-to-camel-case: true diff --git a/src/main/resources/cashMapper/CashAuditMapper.xml b/src/main/resources/cashMapper/CashAuditMapper.xml new file mode 100644 index 0000000..ea979ba --- /dev/null +++ b/src/main/resources/cashMapper/CashAuditMapper.xml @@ -0,0 +1,14 @@ + + + + + + + update cash_record + set status=#{status}, + reject_reason=#{rejectReason}, + audit_id=#{auditId}, + audit_time=now() + where order_code=#{orderCode} and status=0 + + \ No newline at end of file diff --git a/src/main/resources/cashMapper/CashCollectionMapper.xml b/src/main/resources/cashMapper/CashCollectionMapper.xml new file mode 100644 index 0000000..98f288e --- /dev/null +++ b/src/main/resources/cashMapper/CashCollectionMapper.xml @@ -0,0 +1,133 @@ + + + + + + + insert into + cash_record(order_type,jwcode,name,market,activity, + order_code,goods_name,good_num, + payment_currency,payment_amount,received_market, + pay_type,pay_time,status,submitter_id, + voucher,remark) + values(#{orderType},#{jwcode},#{name},#{market},#{activity}, + #{orderCode},#{goodsName},#{goodNum},#{paymentCurrency}, + #{paymentAmount},#{receivedMarket},#{payType},#{payTime}, + #{status},#{submitterId},#{voucher},#{remark}) + + + + + update cash_record + set status=#{status} + where order_code=#{orderCode} + + + + UPDATE cash_record + + jwcode = #{cashRecord.jwcode}, + name = #{cashRecord.name}, + market = #{cashRecord.market}, + activity = #{cashRecord.activity}, + goods_name = #{cashRecord.goodsName}, + good_num = #{cashRecord.goodNum}, + payment_currency = #{cashRecord.paymentCurrency}, + payment_amount = #{cashRecord.paymentAmount}, + received_market = #{cashRecord.receivedMarket}, + pay_type = #{cashRecord.payType}, + pay_time = #{cashRecord.payTime}, + voucher = #{cashRecord.voucher}, + remark = #{cashRecord.remark}, + status = 0, + + WHERE order_code = #{cashRecord.orderCode} + AND status = 5 + + + + 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) + + + + + + + + + + \ No newline at end of file