From c6b7608bd3ca08957d29cf5bc17805e0709a6ab4 Mon Sep 17 00:00:00 2001 From: huangqizhen Date: Fri, 3 Jan 2025 16:47:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=95=B4=E5=90=88=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/controller/DetailYController.java | 9 +- .../com/example/demo/domain/entity/Recharge.java | 4 + src/main/java/com/example/demo/domain/vo/ERP.java | 31 ++++ .../com/example/demo/mapper/ConsumeMapper.java | 8 +- .../java/com/example/demo/mapper/OtherMapper.java | 13 ++ .../java/com/example/demo/mapper/RefundMapper.java | 4 +- .../demo/serviceImpl/ActivityServiceImpl.java | 4 - .../example/demo/serviceImpl/AuditServiceImpl.java | 2 + .../demo/serviceImpl/ConsumeServiceImpl.java | 8 +- .../example/demo/serviceImpl/OtherServiceImpl.java | 170 +++++++++++++++++++++ .../demo/serviceImpl/RechargeServiceImpl.java | 2 +- .../java/com/example/demo/sevice/OtherService.java | 7 + 12 files changed, 247 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/example/demo/domain/vo/ERP.java create mode 100644 src/main/java/com/example/demo/mapper/OtherMapper.java create mode 100644 src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java create mode 100644 src/main/java/com/example/demo/sevice/OtherService.java diff --git a/src/main/java/com/example/demo/controller/DetailYController.java b/src/main/java/com/example/demo/controller/DetailYController.java index a9b4430..4880473 100644 --- a/src/main/java/com/example/demo/controller/DetailYController.java +++ b/src/main/java/com/example/demo/controller/DetailYController.java @@ -5,10 +5,13 @@ import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.DetailY; import com.example.demo.domain.entity.UserDetailExport; import com.example.demo.domain.vo.DetailExport; +import com.example.demo.domain.vo.ERP; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; import com.example.demo.sevice.DetailService; import com.example.demo.sevice.DetailYService; +//import com.example.demo.sevice.OtherService; +import com.example.demo.sevice.OtherService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.util.ObjectUtils; @@ -24,6 +27,7 @@ import java.util.Arrays; @CrossOrigin public class DetailYController { private final DetailYService detailYService; + private final OtherService otherService; @PostMapping("/add") public Result add(@RequestBody DetailY detailY) { try { @@ -56,5 +60,8 @@ public class DetailYController { public Result searchAll(@RequestBody DetailExport detailExport) { return Result.success(detailYService.searchAll(detailExport)); } - + @PostMapping("/ERP") + public Result addERP(@RequestBody ERP erp) { + return Result.success(otherService.addERP(erp)); + } } diff --git a/src/main/java/com/example/demo/domain/entity/Recharge.java b/src/main/java/com/example/demo/domain/entity/Recharge.java index f1591ed..91f79ef 100644 --- a/src/main/java/com/example/demo/domain/entity/Recharge.java +++ b/src/main/java/com/example/demo/domain/entity/Recharge.java @@ -39,5 +39,9 @@ public class Recharge { private String showInput; private String imageUrl; private String rate; + private String isInputInvalid; + private String inputErrorMessage; + + } diff --git a/src/main/java/com/example/demo/domain/vo/ERP.java b/src/main/java/com/example/demo/domain/vo/ERP.java new file mode 100644 index 0000000..47c6e98 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/ERP.java @@ -0,0 +1,31 @@ +package com.example.demo.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +public class ERP { + private String jwcode; + private BigDecimal taskJb; + private BigDecimal freeJb; + private BigDecimal rechargeJb; + private String adminName; + private String productName; + private String reamrk; + private String type; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + private String consumePlatform; + private String name; + private Integer consumeType ; + private Integer refundType; + private String refundGoods; + private Integer updateType; + private String area; + private String token; +} diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java index 8654d17..8c4998e 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -29,11 +29,11 @@ public interface ConsumeMapper { // "(#{jwcode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType},#{refundGoods},#{contactId},#{remark},#{rechargeCoin},#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now(),1,#{orderCode})" "insert into detail_y", "(jwcode,order_code,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods," + - "contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,create_time,first_recharge,`name`,username,area)", + "contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,refund_flag,create_time,first_recharge,`name`,username,area)", "values ", "(#{jwcode},#{orderCode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType}" + ",#{refundGoods},#{contactId},#{remark},#{rechargeCoin}" + - ",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now(),#{firstRecharge},#{name},#{username},#{area})" + ",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,1,now(),#{firstRecharge},#{name},#{username},#{area})" }) // 获取自增主键 @Options(useGeneratedKeys = true,keyColumn = "detaily_id",keyProperty = "detailyId") @@ -66,8 +66,8 @@ public interface ConsumeMapper { //查询消费信息 @Select({ - "select * ,product.name as productName from detail " , - "inner join product on detail.product_id= product.product_id ", + "select * ,product.name as productName from detail_y " , + "inner join product on detail_y.product_id= product.product_id ", "where `detail_flag`=1 AND update_type = '1' and jwcode=#{jwcode} AND refund_flag=1" }) List getDeatil(Integer jwcode); diff --git a/src/main/java/com/example/demo/mapper/OtherMapper.java b/src/main/java/com/example/demo/mapper/OtherMapper.java new file mode 100644 index 0000000..4c58b99 --- /dev/null +++ b/src/main/java/com/example/demo/mapper/OtherMapper.java @@ -0,0 +1,13 @@ +package com.example.demo.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +@Mapper +public interface OtherMapper { + + @Select({ + "select remark_cn from gold_type_info where id=#{type}" + }) + String selectWay(String type); +} diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index b17ab30..afe80de 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -49,7 +49,7 @@ public interface RefundMapper { //根据精网号查询 @Select("SELECT d.*, p.name AS productName " + - "FROM detail d " + + "FROM detail_y d " + "LEFT JOIN product p ON d.product_id = p.product_id " + "WHERE d.jwcode = #{jwcode} AND d.detail_flag = 1 AND d.refund_flag = 1") Detail selectByJWCODE(String jwcode); @@ -57,7 +57,7 @@ public interface RefundMapper { //根据订单号查询 @Select("SELECT d.*, p.name AS productName " + - "FROM detail d " + + "FROM detail_y d " + "LEFT JOIN product p ON d.product_id = p.product_id " + "WHERE d.order_code = #{orderCode} AND d.detail_flag = 1 AND d.refund_flag = 1") Detail selectByOrderCode(String OrderCode); diff --git a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java index d140558..9200c23 100644 --- a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java @@ -10,14 +10,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import com.github.pagehelper.PageInfo; import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.Date; import java.util.List; diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java index 26263a1..6239912 100644 --- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java @@ -101,6 +101,7 @@ public class AuditServiceImpl implements AuditService { BigDecimal freeGold =audit.getFreeGold(); BigDecimal rechargeGold =audit.getRechargeGold(); String remark =audit.getRemark(); + String Way=audit.getRechargeWay(); String uuid = audit.getOrderCode(); int adminId =audit.getAdminId(); String activityName = audit.getActivityName(); @@ -118,6 +119,7 @@ public class AuditServiceImpl implements AuditService { detailY.setJwcode(JwCode); detailY.setActivityId(activityId); detailY.setRechargeCoin(paidGold); + detailY.setRechargeWay(Way); detailY.setFreeCoin(freeGold); detailY.setRemark(remark); detailY.setUpdateType(0); diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index 120d50f..f29d88f 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -39,6 +39,11 @@ public class ConsumeServiceImpl implements ConsumeService { @Override //新增消费记录 public int insert(DetailY detailY) throws Exception { + + // 生成UUID作为订单编号 + String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' + detailY.setOrderCode(uuid); + int result =consumeMapper.insert(detailY); System.out.println(detailY+"----------------------------------------"); if (result != 1) { @@ -84,9 +89,6 @@ public class ConsumeServiceImpl implements ConsumeService { if (result != 1) { throw new Exception("Failed to insert another entity"); } - // 生成UUID作为订单编号 - String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' - detailY.setOrderCode(uuid); //添加表单数据 diff --git a/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java new file mode 100644 index 0000000..434d217 --- /dev/null +++ b/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java @@ -0,0 +1,170 @@ +package com.example.demo.serviceImpl; + +import com.example.demo.domain.entity.DetailY; +import com.example.demo.domain.vo.ERP; +import com.example.demo.mapper.DetailYMapper; +import com.example.demo.mapper.OtherMapper; +import com.example.demo.sevice.OtherService; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Set; +import java.util.HashSet; + +@Service +@Transactional +@RequiredArgsConstructor +@CacheConfig(cacheNames = "other") +public class OtherServiceImpl implements OtherService { + + private static final Set typesToUpdateZero = new HashSet<>(); + private static final Set typesToUpdateOne = new HashSet<>(); + private static final Set typesToUpdateTwo = new HashSet<>(); + private static final Set typesToUpdateThree = new HashSet<>(); + private final OtherMapper otherMapper; + private final DetailYMapper detailYMapper; + + static { + typesToUpdateZero.add("1"); + typesToUpdateZero.add("2"); + typesToUpdateZero.add("3"); + typesToUpdateZero.add("4"); + typesToUpdateZero.add("5"); + typesToUpdateZero.add("6"); + typesToUpdateZero.add("7"); + typesToUpdateZero.add("8"); + typesToUpdateZero.add("11"); + typesToUpdateZero.add("12"); + typesToUpdateZero.add("13"); + typesToUpdateZero.add("14"); + typesToUpdateZero.add("18"); + typesToUpdateZero.add("19"); + typesToUpdateZero.add("20"); + typesToUpdateZero.add("21"); + typesToUpdateZero.add("22"); + typesToUpdateZero.add("23"); + typesToUpdateZero.add("24"); + typesToUpdateZero.add("26"); + typesToUpdateZero.add("28"); + typesToUpdateZero.add("29"); + typesToUpdateZero.add("35"); + typesToUpdateZero.add("36"); + typesToUpdateZero.add("40"); + typesToUpdateZero.add("45"); + typesToUpdateZero.add("46"); + typesToUpdateZero.add("47"); + typesToUpdateZero.add("48"); + typesToUpdateZero.add("49"); + typesToUpdateZero.add("53"); + typesToUpdateZero.add("54"); + typesToUpdateZero.add("60"); + + typesToUpdateOne.add("9"); + typesToUpdateOne.add("15"); + typesToUpdateOne.add("17"); + typesToUpdateOne.add("25"); + typesToUpdateOne.add("27"); + typesToUpdateOne.add("37"); + typesToUpdateOne.add("41"); + typesToUpdateOne.add("42"); + typesToUpdateOne.add("43"); + typesToUpdateOne.add("50"); + typesToUpdateOne.add("51"); + typesToUpdateOne.add("52"); + + typesToUpdateTwo.add("55"); + typesToUpdateTwo.add("56"); + typesToUpdateTwo.add("57"); + typesToUpdateTwo.add("58"); + typesToUpdateTwo.add("59"); + typesToUpdateTwo.add("61"); + + typesToUpdateThree.add("9"); + typesToUpdateThree.add("15"); + typesToUpdateThree.add("17"); + typesToUpdateThree.add("25"); + typesToUpdateThree.add("27"); + typesToUpdateThree.add("37"); + typesToUpdateThree.add("41"); + typesToUpdateThree.add("42"); + typesToUpdateThree.add("43"); + typesToUpdateThree.add("50"); + typesToUpdateThree.add("51"); + typesToUpdateThree.add("52"); + } + + @Override + public int addERP(ERP erp) { + DetailY detailY = new DetailY(); + String type = erp.getType(); + String JwCode = erp.getJwcode(); + BigDecimal taskJb = erp.getTaskJb(); + BigDecimal freeJb = erp.getFreeJb(); + BigDecimal rechargeJb = erp.getRechargeJb(); + String adminName = erp.getAdminName(); + String productName = erp.getProductName(); + String remark = erp.getReamrk(); + String Way = otherMapper.selectWay(type); + if (typesToUpdateZero.contains(type)) { + detailY.setUpdateType(0);// 设置 updateType 为 0 + detailY.setJwcode(JwCode); + detailY.setRechargeCoin(rechargeJb); + detailY.setFreeCoin(freeJb); + detailY.setTaskCoin(taskJb); + detailY.setRemark(remark); + detailY.setName(adminName); +// detailY.setUsername(username); +// detailY.setArea(area); + detailY.setProductName(productName); + detailY.setConsumePlatform("ERP充值"); + detailY.setRechargeWay(Way); + + + + } else if (typesToUpdateOne.contains(type)) { + detailY.setUpdateType(1); // 设置 updateType 为 1 + detailY.setJwcode(JwCode); + detailY.setRechargeCoin(rechargeJb); + detailY.setFreeCoin(freeJb); + detailY.setTaskCoin(taskJb); + detailY.setRemark(remark); + detailY.setName(adminName); +// detailY.setUsername(username); +// detailY.setArea(area); + detailY.setProductName(productName); + detailY.setConsumePlatform("ERP充值"); + detailY.setConsumeType(Way); + } else if (typesToUpdateTwo.contains(type)) { + detailY.setUpdateType(2); // 设置 updateType 为 2 + detailY.setJwcode(JwCode); + detailY.setRechargeCoin(rechargeJb); + detailY.setFreeCoin(freeJb); + detailY.setTaskCoin(taskJb); + detailY.setRemark(remark); + detailY.setName(adminName); +// detailY.setUsername(username); +// detailY.setArea(area); + detailY.setProductName(productName); + detailY.setConsumePlatform("ERP充值"); + detailY.setRefundType(Way); + }else if (typesToUpdateThree.contains(type)) { + detailY.setUpdateType(3); // 设置 updateType 为 3 + detailY.setJwcode(JwCode); + detailY.setRechargeCoin(rechargeJb); + detailY.setFreeCoin(freeJb); + detailY.setTaskCoin(taskJb); + detailY.setRemark(remark); + detailY.setName(adminName); +// detailY.setUsername(username); +// detailY.setArea(area); + detailY.setProductName(productName); + detailY.setConsumePlatform("ERP充值"); + detailY.setReson(Way); + } + // 添加其他业务逻辑 + return detailYMapper.add(detailY); + } +} diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index 6139c5d..60b2975 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -188,7 +188,7 @@ public class RechargeServiceImpl implements RechargeService { public int getAllByjwAndup(String jwcode) { return rechargeMapper.getAllByjwAndup(jwcode); } - + @CacheEvict(value = "recharge",allEntries = true) @Override public Result addRecharges(List recharges) { try { diff --git a/src/main/java/com/example/demo/sevice/OtherService.java b/src/main/java/com/example/demo/sevice/OtherService.java new file mode 100644 index 0000000..955a509 --- /dev/null +++ b/src/main/java/com/example/demo/sevice/OtherService.java @@ -0,0 +1,7 @@ +package com.example.demo.sevice; + +import com.example.demo.domain.vo.ERP; + +public interface OtherService { + int addERP(ERP erp); +}