From 67401a998c9a7a9b0f431c46778cf0f8a99388a5 Mon Sep 17 00:00:00 2001 From: huangqizhen Date: Fri, 6 Dec 2024 10:23:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=A1=86=E6=9E=B6=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E7=89=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/admin/src/main/resources/application.yml | 9 +++++++-- demo/audit/src/main/resources/application.yml | 9 +++++++-- .../java/com/example/commons/sevice/RefundService.java | 2 ++ demo/consume/src/main/resources/application.yml | 9 +++++++-- .../com/example/recharge/mapper/RechargeMapper.java | 2 +- demo/recharge/src/main/resources/application.yml | 9 +++++++-- .../com/example/refund/controller/RefundController.java | 17 ++++++++++++----- .../java/com/example/refund/mapper/RefundMapper.java | 12 ++++++++---- .../com/example/refund/service/RefundServiceImpl.java | 5 +++++ demo/refund/src/main/resources/application.yml | 9 +++++++-- demo/statistics/pom.xml | 8 -------- demo/statistics/src/main/resources/application.yml | 10 +++++++--- demo/user/src/main/resources/application.yml | 9 +++++++-- 13 files changed, 77 insertions(+), 33 deletions(-) diff --git a/demo/admin/src/main/resources/application.yml b/demo/admin/src/main/resources/application.yml index a02b92e..7278f5e 100644 --- a/demo/admin/src/main/resources/application.yml +++ b/demo/admin/src/main/resources/application.yml @@ -3,8 +3,13 @@ server: spring: datasource: - hikari: - maximum-pool-size: 50 + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/audit/src/main/resources/application.yml b/demo/audit/src/main/resources/application.yml index a4e18a3..c0c5ded 100644 --- a/demo/audit/src/main/resources/application.yml +++ b/demo/audit/src/main/resources/application.yml @@ -3,8 +3,13 @@ server: spring: datasource: - hikari: - maximum-pool-size: 50 + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java b/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java index 0c9417d..22e088b 100644 --- a/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java +++ b/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java @@ -1,6 +1,7 @@ package com.example.commons.sevice; import com.example.commons.domain.entity.Detail; +import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.stereotype.Service; @@ -11,6 +12,7 @@ public interface RefundService { int add(Detail detail) ; int addAudit(Detail detail); void edit(Detail newDetail) ; + boolean existsByContactId(Integer contactId); int softDelete(Integer detailId) ; Detail selectByDetailId(Integer detailId); List search(Detail detail); diff --git a/demo/consume/src/main/resources/application.yml b/demo/consume/src/main/resources/application.yml index 5559142..3e1bd44 100644 --- a/demo/consume/src/main/resources/application.yml +++ b/demo/consume/src/main/resources/application.yml @@ -3,8 +3,13 @@ server: spring: datasource: - hikari: - maximum-pool-size: 50 + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=GMT%2b8&serverTimezone=Asia/Shanghai username: hwgold diff --git a/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java b/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java index c362864..c95c09c 100644 --- a/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java +++ b/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java @@ -49,7 +49,7 @@ public interface RechargeMapper { }) List select(RechargeVo rechargeVo); //根据jwcode和充值类型判断有没有,有首充标识设为0,否者设为1 - @Select({"select * from detail", + @Select({"select count(*) from detail", "where jwcode=#{jwcode} and update_type='充值'"}) int getAllByjwAndup(String jwcode); } diff --git a/demo/recharge/src/main/resources/application.yml b/demo/recharge/src/main/resources/application.yml index 8e98a48..6a744bb 100644 --- a/demo/recharge/src/main/resources/application.yml +++ b/demo/recharge/src/main/resources/application.yml @@ -3,8 +3,13 @@ server: spring: datasource: - hikari: - maximum-pool-size: 50 + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/refund/src/main/java/com/example/refund/controller/RefundController.java b/demo/refund/src/main/java/com/example/refund/controller/RefundController.java index 81001b6..bf0b9c5 100644 --- a/demo/refund/src/main/java/com/example/refund/controller/RefundController.java +++ b/demo/refund/src/main/java/com/example/refund/controller/RefundController.java @@ -1,17 +1,16 @@ package com.example.refund.controller; - import com.example.commons.domain.entity.Detail; + import com.example.commons.domain.vo.Page; import com.example.commons.domain.vo.Result; import com.example.commons.sevice.RefundService; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Param; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; - import java.util.Arrays; @RestController @@ -25,6 +24,9 @@ public class RefundController { @PostMapping("/add") public Result add(@RequestBody Detail detail) { // try { + if (refundService.existsByContactId(detail.getContactId())) { + return Result.error("该订单已退款: " + detail.getContactId()); + } refundService.add(detail); refundService.addAudit(detail); return Result.success(); @@ -37,6 +39,12 @@ public class RefundController { @PostMapping("/softDelete") public Result softDelete(@RequestParam Integer detailId) { // try { + // 获取旧的明细记录 + Detail oldDetail = refundService.selectByDetailId(detailId); + + if (oldDetail == null || oldDetail.getDetailFlag() ==0) { + return Result.error("该订单不存在: " + detailId); + } refundService.softDelete(detailId); return Result.success(); // } catch (Exception e) { @@ -51,8 +59,7 @@ public class RefundController { refundService.edit(newDetail); return Result.success(); } catch (Exception e) { - e.printStackTrace(); - log.error(e.getMessage()); + log.warn(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } } diff --git a/demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java b/demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java index 19de888..ed9d25d 100644 --- a/demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java +++ b/demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java @@ -10,21 +10,25 @@ public interface RefundMapper { @Insert({ "insert into detail", - "(jwcode,refund_type,refund_goods,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type)", + "(jwcode,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type)", "values", - "(#{jwcode},#{refundType},#{refundGoods},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),'退款')" + "(#{jwcode},#{refundType},#{refundGoods},#{contactId},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),'退款')" }) @Options(useGeneratedKeys = true, keyColumn = "detail_id", keyProperty = "detailId") int insert(Detail detail); - @Select({ + @Insert({ "insert into audit", "(jwcode,refund_id,admin_id,create_time,detail_id)", "values", - "(,#{jwcode},#{refundId},#{adminId},now(),#{detailId})" + "(#{jwcode},#{detailId},#{adminId},now(),#{detailId})" }) int insertAudit(Detail detail); + // 检查 contactId 是否存在 + @Select("SELECT EXISTS (SELECT 1 FROM detail WHERE contact_id = #{contactId})") + boolean existsByContactId(@Param("contactId") Integer contactId); + @Update("update detail set detail_flag = 0 where detail_id = #{detailId}") int update(@Param("detailId") Integer detailId); diff --git a/demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java b/demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java index ce26d73..033c5eb 100644 --- a/demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java +++ b/demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java @@ -58,6 +58,11 @@ public class RefundServiceImpl implements RefundService { } @Override + public boolean existsByContactId(Integer contactId) { + return refundMapper.existsByContactId(contactId); + } + + @Override public int softDelete(Integer detailId) { return refundMapper.update(detailId); } diff --git a/demo/refund/src/main/resources/application.yml b/demo/refund/src/main/resources/application.yml index 4bc340f..eb1842e 100644 --- a/demo/refund/src/main/resources/application.yml +++ b/demo/refund/src/main/resources/application.yml @@ -3,8 +3,13 @@ server: spring: datasource: - hikari: - maximum-pool-size: 50 + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/statistics/pom.xml b/demo/statistics/pom.xml index acfaf53..1f1448a 100644 --- a/demo/statistics/pom.xml +++ b/demo/statistics/pom.xml @@ -66,14 +66,6 @@ org.springframework.boot spring-boot-maven-plugin - - - - org.projectlombok - lombok - - - diff --git a/demo/statistics/src/main/resources/application.yml b/demo/statistics/src/main/resources/application.yml index 5afcf27..4d7000f 100644 --- a/demo/statistics/src/main/resources/application.yml +++ b/demo/statistics/src/main/resources/application.yml @@ -3,9 +3,13 @@ server: spring: datasource: - hikari: - maximum-pool-size: 50 - + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/user/src/main/resources/application.yml b/demo/user/src/main/resources/application.yml index 3b4ff6b..632d298 100644 --- a/demo/user/src/main/resources/application.yml +++ b/demo/user/src/main/resources/application.yml @@ -2,8 +2,13 @@ server: port: 10020 spring: datasource: - hikari: - maximum-pool-size: 50 + hikari: # HikariCP连接池配置 + maximum-pool-size: 10 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + idle-timeout: 30000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + connection-timeout: 30000 # 连接超时时间(毫秒) + pool-name: HwgoldHikariCP # 连接池名称 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold