From fa64af257514cb7c1d6418856bb35254fc37ea1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=85=E6=99=A8?= <136767481@qq.com> Date: Sat, 6 Sep 2025 16:31:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=B7=A5=E4=BD=9C=E6=B5=81):=20=E4=B8=BA?= =?UTF-8?q?=20CustomerOrderVo=20=E7=B1=BB=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增备用字段4 (byFour) - 新增满意度时间 (satisfiedTime) - 新增违约金 (breach) 字段,并添加 Excel 导出属性 --- .../src/main/resources/application-prod.yml | 14 +-- .../work/controller/TpOrderController.java | 21 ++++ .../java/org/dromara/work/domain/TpOrder.java | 15 +++ .../org/dromara/work/domain/bo/TpOrderBo.java | 15 +++ .../work/domain/vo/CustomerOrderVo.java | 16 +++ .../dromara/work/domain/vo/SkillOrderVo.java | 16 +++ .../org/dromara/work/domain/vo/TpOrderVo.java | 16 +++ .../dromara/work/service/ITpOrderService.java | 10 ++ .../work/service/impl/TpOrderServiceImpl.java | 109 ++++++++++++++++-- 9 files changed, 214 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index ed0ef69..1b1b098 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -50,13 +50,13 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) -# url: jdbc:mysql://123.60.57.176:3306/sjzxerp20250618?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true -# username: sjzx0618 -# password: 2b1%Hk3#1Uolol + url: jdbc:mysql://123.60.57.176:3306/sjzxerp20250618?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true + username: sjzx0618 + password: 2b1%Hk3#1Uolol - url: jdbc:mysql://localhost:13306/new_xgt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true - username: root - password: root +# url: jdbc:mysql://localhost:13306/new_xgt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true +# username: root +# password: root # 从库数据源 slave: @@ -94,7 +94,7 @@ spring.data: # 端口,默认为6379 port: 22002 # 数据库索引 - database: 5 + database: 1 # redis 密码必须配置 password: Songhaihua999 # 连接超时时间 diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpOrderController.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpOrderController.java index 97dc91f..29ff5db 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpOrderController.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpOrderController.java @@ -58,6 +58,27 @@ public class TpOrderController extends BaseController { ExcelUtil.exportExcel(list, "回收站订单导出", TpOrderVo.class, response); } + /** + * 扣除违约金 + */ + @SaCheckPermission("work:order:breach") + @Log(title = "扣除违约金", businessType = BusinessType.UPDATE) + @PutMapping("/breach") + public R breach(@RequestBody TpOrderBo bo) { + return toAjax(tpOrderService.breach(bo)); + } + + /** + * 满意度接口 + */ + @SaCheckPermission("work:order:satisfied") + @Log(title = "满意度接口", businessType = BusinessType.UPDATE) + @PutMapping("/satisfied") + public R satisfied(@RequestBody TpOrderBo bo) { + return toAjax(tpOrderService.satisfied(bo)); + } + + /** * 获取订单管理详细信息 * diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/TpOrder.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/TpOrder.java index 52eb291..d23e112 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/TpOrder.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/TpOrder.java @@ -235,6 +235,16 @@ public class TpOrder { */ private String byThree; + /** + * 备用字段4 + */ + private Integer byFour; + + /** + * 满意度时间 + */ + private Date satisfiedTime; + /** * 抵扣金 */ @@ -245,6 +255,11 @@ public class TpOrder { */ private Long jcsOrderId; + /** + * 违约金 + */ + private BigDecimal breach; + /** * 接待客服名称 */ diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/bo/TpOrderBo.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/bo/TpOrderBo.java index 5776827..8511561 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/bo/TpOrderBo.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/bo/TpOrderBo.java @@ -316,6 +316,16 @@ public class TpOrderBo extends BaseEntity { */ private String byThree; + /** + * 备用字段4 + */ + private Integer byFour; + + /** + * 满意度时间 + */ + private Date satisfiedTime; + /** * 抵扣金 */ @@ -326,4 +336,9 @@ public class TpOrderBo extends BaseEntity { */ private Long jcsOrderId; + /** + * 违约金 + */ + private BigDecimal breach; + } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/CustomerOrderVo.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/CustomerOrderVo.java index 699cb9c..8755d65 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/CustomerOrderVo.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/CustomerOrderVo.java @@ -267,6 +267,16 @@ public class CustomerOrderVo implements Serializable { */ private String byThree; + /** + * 备用字段4 + */ + private Integer byFour; + + /** + * 满意度时间 + */ + private Date satisfiedTime; + /** * 抵扣金 */ @@ -277,4 +287,10 @@ public class CustomerOrderVo implements Serializable { */ private Long jcsOrderId; + /** + * 违约金 + */ + @ExcelProperty(value = "违约金") + private BigDecimal breach; + } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/SkillOrderVo.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/SkillOrderVo.java index f045b97..8776b6b 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/SkillOrderVo.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/SkillOrderVo.java @@ -209,6 +209,16 @@ public class SkillOrderVo implements Serializable { */ private String byThree; + /** + * 备用字段4 + */ + private Integer byFour; + + /** + * 满意度时间 + */ + private Date satisfiedTime; + /** * 抵扣金 */ @@ -219,4 +229,10 @@ public class SkillOrderVo implements Serializable { */ private Long jcsOrderId; + /** + * 违约金 + */ + @ExcelProperty(value = "违约金") + private BigDecimal breach; + } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/TpOrderVo.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/TpOrderVo.java index f985781..6f81150 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/TpOrderVo.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/domain/vo/TpOrderVo.java @@ -322,6 +322,16 @@ public class TpOrderVo implements Serializable { */ private String byThree; + /** + * 备用字段4 + */ + private Integer byFour; + + /** + * 满意度时间 + */ + private Date satisfiedTime; + /** * 抵扣金 */ @@ -332,4 +342,10 @@ public class TpOrderVo implements Serializable { */ private Long jcsOrderId; + /** + * 违约金 + */ + @ExcelProperty(value = "违约金") + private BigDecimal breach; + } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpOrderService.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpOrderService.java index b65f1f1..2e1fe94 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpOrderService.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpOrderService.java @@ -214,4 +214,14 @@ public interface ITpOrderService extends MPJBaseService { * @return */ TpOrderVo selectById(@NotNull(message = "主键不能为空") Long id); + + /** + * 扣除违约金 + */ + int breach(TpOrderBo bo); + + /** + * 满意度接口 + */ + int satisfied(TpOrderBo bo); } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpOrderServiceImpl.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpOrderServiceImpl.java index e391feb..5bc4b48 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpOrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpOrderServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.base.MPJBaseServiceImpl; @@ -298,10 +300,10 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl listPage = baseMapper.selectJoinPage(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), CustomerOrderVo.class, wrapper); @@ -344,7 +351,7 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl listPage = baseMapper.selectJoinPage(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), SkillOrderVo.class, wrapper); @@ -430,8 +442,16 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl 0; } + /** + * 扣除违约金 + * + * @param bo + */ + @Override + public int breach(TpOrderBo bo) { + TpOrder order = baseMapper.selectById(bo.getId()); + if(order.getPayState() == 1){ + throw new ServiceException("该订单未支付,不可扣除违约金"); + } + BigDecimal jsPayPrice = getJsPayPrice(order.getPrice(),order.getPayPrice(),order.getPrice().subtract(order.getGjPrice()).subtract(order.getCdPrice())); +// order.setJsPayPrice(getJsPay(jsPayPrice.subtract(bo.getBreach()))); + boolean res = saveOrderRecord(order.getId(),"扣除违约金","订单:"+order.getOrderId()+" 修改成功",1,bo.getRecord()); + if(!res){ + throw new ServiceException("订单修改失败"); + } +// TpOrder update = new TpOrder(); +// update.setId(order.getId()); +// update.setBreach(getJsPay(jsPayPrice.subtract(bo.getBreach()))); + + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(TpOrder::getId, order.getId()) + .set(TpOrder::getBreach, bo.getBreach()) + .set(TpOrder::getJsPayPrice, getJsPay(jsPayPrice.subtract(bo.getBreach()))); + return baseMapper.update(null, updateWrapper); + } + + /** + * 满意度接口 + * + * @param bo + */ + @Override + public int satisfied(TpOrderBo bo) { + TpOrder order = baseMapper.selectById(bo.getId()); + if(order.getPayState() == 1){ + throw new ServiceException("该订单未支付,不可修改满意度"); + } + + //查询满意度ID最大ID + TpOrder maxOrder = baseMapper.selectOne(new LambdaQueryWrapper().select(TpOrder::getByFour).orderByDesc(TpOrder::getByFour).last("limit 1")); + + if(maxOrder != null && maxOrder.getByFour() != 0){ + bo.setByFour(maxOrder.getByFour() + 1); + } else { + bo.setByFour(1); + } + + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(TpOrder::getId, order.getId()) + .set(TpOrder::getByTwo, bo.getByTwo()) + .set(TpOrder::getByThree, bo.getByThree()) + .set(TpOrder::getByFour, bo.getByFour()) + .set(TpOrder::getSatisfiedTime, new Date()); + return baseMapper.update(null, updateWrapper); + } + /** * 校验并批量删除订单管理信息 * @@ -708,6 +794,7 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl