From c4193ec74258e4f0079c854feff5f5178c2d73f1 Mon Sep 17 00:00:00 2001 From: huangqizhen Date: Mon, 23 Dec 2024 16:41:48 +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 --- pom.xml | 10 +--- .../demo/controller/ActivityController.java | 4 +- .../example/demo/controller/AdminController.java | 6 +- .../example/demo/controller/ConsumeController.java | 69 +++++++++++----------- .../example/demo/controller/DetailYController.java | 2 +- .../com/example/demo/controller/KafkaConfig.java | 9 +++ .../com/example/demo/controller/KafkaConsumer.java | 50 ++++++++++++++++ .../com/example/demo/controller/KafkaProducer.java | 16 +++++ .../demo/controller/RechargeController.java | 28 ++++++--- .../demo/controller/StatisticsController.java | 2 +- .../example/demo/controller/UploadController.java | 2 +- .../java/com/example/demo/domain/entity/Audit.java | 2 + .../com/example/demo/domain/entity/DetailY.java | 3 + .../com/example/demo/mapper/ConsumeMapper.java | 22 +++---- .../com/example/demo/mapper/DetailYMapper.java | 31 ++++++++-- .../com/example/demo/mapper/StatisticsMapper.java | 40 ++++++------- .../demo/serviceImpl/DetailYServiceImpl.java | 15 ++--- .../com/example/demo/sevice/DetailYService.java | 2 +- 18 files changed, 210 insertions(+), 103 deletions(-) create mode 100644 src/main/java/com/example/demo/controller/KafkaConfig.java create mode 100644 src/main/java/com/example/demo/controller/KafkaConsumer.java create mode 100644 src/main/java/com/example/demo/controller/KafkaProducer.java diff --git a/pom.xml b/pom.xml index b72f36a..802c7bc 100644 --- a/pom.xml +++ b/pom.xml @@ -25,15 +25,11 @@ - org.apache.kafka - kafka-clients - 3.4.0 - - - org.apache.kafka - kafka_2.13 + org.springframework.kafka + spring-kafka + diff --git a/src/main/java/com/example/demo/controller/ActivityController.java b/src/main/java/com/example/demo/controller/ActivityController.java index 8a5add9..15d6f44 100644 --- a/src/main/java/com/example/demo/controller/ActivityController.java +++ b/src/main/java/com/example/demo/controller/ActivityController.java @@ -27,9 +27,9 @@ public class ActivityController { @PostMapping("/add") public Result add(@RequestBody Activity activity) { // try { - System.out.println("------6---"); + int result=activityService.add(activity); - System.out.println(result); + return Result.success(); // } catch (Exception e) { // log.warn(Arrays.toString(e.getStackTrace())); diff --git a/src/main/java/com/example/demo/controller/AdminController.java b/src/main/java/com/example/demo/controller/AdminController.java index 92f167d..d51bdd9 100644 --- a/src/main/java/com/example/demo/controller/AdminController.java +++ b/src/main/java/com/example/demo/controller/AdminController.java @@ -39,11 +39,11 @@ public class AdminController { try { - System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-1"); + admin = adminService.login(admin); - System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-"); + String token = JWTUtil.createJWT(admin); - System.out.println(token+"token----------------------------------------"); + admin.setPassword(null); return Result.success(token,admin); } catch (Exception e) { diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 8487083..3d057f3 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -5,8 +5,10 @@ import com.example.demo.domain.vo.DetailVo; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; import com.example.demo.domain.vo.UserVo; +import com.example.demo.controller.KafkaProducer; import com.example.demo.serviceImpl.ConsumeServiceImpl; import com.example.demo.serviceImpl.UserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -17,67 +19,66 @@ import java.util.Arrays; @RestController @RequestMapping("/consume") -//SpringMVC的,为当前类的所有处理器方法,添加路径映射的前缀 @RequiredArgsConstructor -// lombok的,添加一个包含所有final属性的构造器 -@Slf4j //lombok的,自动添加log的对象,用于日志打印 +@Slf4j @CrossOrigin public class ConsumeController { + + @Autowired + private ConsumeServiceImpl consumeService; + @Autowired - ConsumeServiceImpl consumeService; + private UserServiceImpl userService; + @Autowired - UserServiceImpl userService; + private KafkaProducer kafkaProducer; @PostMapping("/add") -// public Result add(@RequestParam("userId") Integer userId, @RequestBody Detail detail){ public Result add(@RequestBody Detail detail) throws Exception { -// try { - // System.out.println(userId+"-----------"); - //通过userid获取username,插入到detail -// User user=consumeService.getByUserId(userId); -// detail.setName(user.getName()); -// //添加所属地区 -// Admin admin=consumeService.getByadminId(detail.getAdminId()); -// detail.setArea(admin.getArea()); - Integer result= consumeService.insert(detail); - return Result.success(result); -// } catch (Exception e) { -// log.warn(Arrays.toString(e.getStackTrace())); -// return Result.error(e.getMessage()); -// } + try { + // 将 Detail 对象转换为 JSON 字符串 + ObjectMapper objectMapper = new ObjectMapper(); + String detailJson = objectMapper.writeValueAsString(detail); + + // 发送消息到 Kafka 队列 + kafkaProducer.sendMessage("consume-topic", detailJson); + + return Result.success("Request added to Kafka queue"); + } catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } } @PostMapping("/select") - public Result search(@RequestBody Page page){ + public Result search(@RequestBody Page page) { Integer pageNum = page.getPageNum(); Integer pageSize = page.getPageSize(); DetailVo detailVo = page.getDetailVo(); - if(ObjectUtils.isEmpty(pageNum)){ + if (ObjectUtils.isEmpty(pageNum)) { return Result.success(consumeService.search(detailVo)); - } - else { - return Result.success(consumeService.searchForPage(pageNum,pageSize,detailVo)); + } else { + return Result.success(consumeService.searchForPage(pageNum, pageSize, detailVo)); } } - @PostMapping("/getDeatil/{jwcode}") - public Result getDeatil(@PathVariable("jwcode") Integer jwcode){ - try{ - UserVo userVo=new UserVo(); + public Result getDeatil(@PathVariable("jwcode") Integer jwcode) { + try { + UserVo userVo = new UserVo(); userVo.setJwcode(jwcode.toString()); userService.search(userVo); - System.out.println("======================"+userVo); + return Result.success(consumeService.getDeatil(jwcode)); - }catch (Exception e) { + } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } } @PostMapping("/getProduct") - public Result getProduct(@RequestParam("name") String name){ - System.out.println(name+"name"); - return Result.success( consumeService.getProduct(name)); + public Result getProduct(@RequestParam("name") String name) { + System.out.println(name + "name"); + return Result.success(consumeService.getProduct(name)); } } diff --git a/src/main/java/com/example/demo/controller/DetailYController.java b/src/main/java/com/example/demo/controller/DetailYController.java index 9c93089..9b98ec1 100644 --- a/src/main/java/com/example/demo/controller/DetailYController.java +++ b/src/main/java/com/example/demo/controller/DetailYController.java @@ -35,7 +35,7 @@ public class DetailYController { @PostMapping public Result search(@RequestBody Page page) { if(ObjectUtils.isEmpty(page.getPageNum())){ - return Result.success(detailYService.getAllDetail(page.getDetailY())); + return Result.success(detailYService.getCount(page.getDetailY())); } else { return Result.success(detailYService.getDetailByPage(page.getPageNum(), page.getPageSize(), page.getDetailY())); diff --git a/src/main/java/com/example/demo/controller/KafkaConfig.java b/src/main/java/com/example/demo/controller/KafkaConfig.java new file mode 100644 index 0000000..4dd1d94 --- /dev/null +++ b/src/main/java/com/example/demo/controller/KafkaConfig.java @@ -0,0 +1,9 @@ +package com.example.demo.controller; + +import org.springframework.context.annotation.Configuration; +import org.springframework.kafka.annotation.EnableKafka; + +@Configuration +@EnableKafka +public class KafkaConfig { +} diff --git a/src/main/java/com/example/demo/controller/KafkaConsumer.java b/src/main/java/com/example/demo/controller/KafkaConsumer.java new file mode 100644 index 0000000..d7efd8c --- /dev/null +++ b/src/main/java/com/example/demo/controller/KafkaConsumer.java @@ -0,0 +1,50 @@ +package com.example.demo.controller; + +import com.example.demo.domain.entity.Detail; +import com.example.demo.domain.entity.Recharge; +import com.example.demo.serviceImpl.ConsumeServiceImpl; +import com.example.demo.sevice.RechargeService; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.kafka.annotation.KafkaListener; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class KafkaConsumer { + + @Autowired + private ConsumeServiceImpl consumeService; + + @Autowired + private RechargeService rechargeService; + + private final ObjectMapper objectMapper = new ObjectMapper(); + + @KafkaListener(topics = "consume-topic", groupId = "my-group") + public void listenConsume(String message) { + try { + Detail detail = objectMapper.readValue(message, Detail.class); + + // 处理消费请求 + Integer result = consumeService.insert(detail); + log.info("Processed consume request with result: {}", result); + } catch (Exception e) { + log.error("Error processing consume message: {}", message, e); + } + } + + @KafkaListener(topics = "recharge-topic", groupId = "my-group") + public void listenRecharge(String message) { + try { + Recharge recharge = objectMapper.readValue(message, Recharge.class); + + // 处理充值请求 + rechargeService.add(recharge); + log.info("Processed recharge request with id: {}", recharge.getRechargeId()); + } catch (Exception e) { + log.error("Error processing recharge message: {}", message, e); + } + } +} diff --git a/src/main/java/com/example/demo/controller/KafkaProducer.java b/src/main/java/com/example/demo/controller/KafkaProducer.java new file mode 100644 index 0000000..3893bb1 --- /dev/null +++ b/src/main/java/com/example/demo/controller/KafkaProducer.java @@ -0,0 +1,16 @@ +package com.example.demo.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; + +@Service +public class KafkaProducer { + + @Autowired + private KafkaTemplate kafkaTemplate; + + public void sendMessage(String topic, String message) { + kafkaTemplate.send(topic, message); + } +} diff --git a/src/main/java/com/example/demo/controller/RechargeController.java b/src/main/java/com/example/demo/controller/RechargeController.java index 552bf74..f639e43 100644 --- a/src/main/java/com/example/demo/controller/RechargeController.java +++ b/src/main/java/com/example/demo/controller/RechargeController.java @@ -1,13 +1,14 @@ package com.example.demo.controller; - - import com.example.demo.domain.entity.Recharge; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; +import com.example.demo.controller.KafkaProducer; import com.example.demo.sevice.RechargeService; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; @@ -22,17 +23,26 @@ public class RechargeController { private final RechargeService rechargeService; + @Autowired + private KafkaProducer kafkaProducer; + @PostMapping("/add") public Result add(@RequestBody Recharge recharge) { - try { - rechargeService.add(recharge); - return Result.success(); + // 将 Recharge 对象转换为 JSON 字符串 + ObjectMapper objectMapper = new ObjectMapper(); + String rechargeJson = objectMapper.writeValueAsString(recharge); + + // 发送消息到 Kafka 队列 + kafkaProducer.sendMessage("recharge-topic", rechargeJson); + + return Result.success("Request added to Kafka queue"); } catch (Exception e) { - log.warn(Arrays.toString(e.getStackTrace())); + log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } } + @PostMapping("/edit") public Result edit(@RequestBody Recharge recharge) { try { @@ -43,12 +53,12 @@ public class RechargeController { } return Result.success(); } + @PostMapping public Result search(@RequestBody Page page) { - if(ObjectUtils.isEmpty(page.getPageNum())){ + if (ObjectUtils.isEmpty(page.getPageNum())) { return Result.success(rechargeService.search(page.getRechargeVo())); - } - else { + } else { return Result.success(rechargeService.searchForPage(page.getPageNum(), page.getPageSize(), page.getRechargeVo())); } } diff --git a/src/main/java/com/example/demo/controller/StatisticsController.java b/src/main/java/com/example/demo/controller/StatisticsController.java index 709b4aa..2483c6a 100644 --- a/src/main/java/com/example/demo/controller/StatisticsController.java +++ b/src/main/java/com/example/demo/controller/StatisticsController.java @@ -103,7 +103,7 @@ public class StatisticsController { @PostMapping("/getMediuConsumeCoin2") public Result getMediuConsumeCoin2(@RequestBody SumCoin sumCoin){ System.out.println(sumCoin.getSearchStartTime()+" -------------searchStartTime----"); - return Result.success(statisticsMapper. getMediuConsumeCoin2(sumCoin)); + return Result.success(statisticsMapper.getMediuConsumeCoin2(sumCoin)); } @PostMapping("/getCoinTime") public Result getCoinTime(@RequestBody SumCoin sumcoin){ diff --git a/src/main/java/com/example/demo/controller/UploadController.java b/src/main/java/com/example/demo/controller/UploadController.java index a74c2d4..138166d 100644 --- a/src/main/java/com/example/demo/controller/UploadController.java +++ b/src/main/java/com/example/demo/controller/UploadController.java @@ -21,7 +21,7 @@ public class UploadController { @PostMapping public Result upload(MultipartFile file) { - System.out.println(file+"file11111111111111111111"); + String fileName = UploadUtil.save(file,path); return Result.success(fileName); } diff --git a/src/main/java/com/example/demo/domain/entity/Audit.java b/src/main/java/com/example/demo/domain/entity/Audit.java index 89d166d..045aa26 100644 --- a/src/main/java/com/example/demo/domain/entity/Audit.java +++ b/src/main/java/com/example/demo/domain/entity/Audit.java @@ -1,6 +1,7 @@ package com.example.demo.domain.entity; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; @@ -10,6 +11,7 @@ import java.util.Date; @Data @NoArgsConstructor +@JsonIgnoreProperties public class Audit { private Integer auditId; private String jwcode; diff --git a/src/main/java/com/example/demo/domain/entity/DetailY.java b/src/main/java/com/example/demo/domain/entity/DetailY.java index ca7344f..5b2595a 100644 --- a/src/main/java/com/example/demo/domain/entity/DetailY.java +++ b/src/main/java/com/example/demo/domain/entity/DetailY.java @@ -67,4 +67,7 @@ public class DetailY implements Serializable { private String ActivityName; private Integer flag; private String reson; + private BigDecimal sumR; + private BigDecimal sumF; + private BigDecimal sumT; } diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java index 132d941..f028ab8 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -26,7 +26,7 @@ public interface ConsumeMapper { Admin getByadminId(@Param("adminId") Integer adminId); //新增消费记录 @Insert({ - "insert into detail", + "insert into detail_y", "(jwcode,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,refund_flag,order_code)", "values", "(#{jwcode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType},#{refundGoods},#{contactId},#{remark},#{rechargeCoin},#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now(),1,#{orderCode})" @@ -41,19 +41,19 @@ public interface ConsumeMapper { //模糊分页查询,查询消费明细 @Select({ "" }) List select(DetailVo detailVo); @@ -61,8 +61,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/DetailYMapper.java b/src/main/java/com/example/demo/mapper/DetailYMapper.java index 70506a0..94ddd47 100644 --- a/src/main/java/com/example/demo/mapper/DetailYMapper.java +++ b/src/main/java/com/example/demo/mapper/DetailYMapper.java @@ -25,16 +25,17 @@ public interface DetailYMapper { @Select({ "SELECT * from detail_y where detaily_id =#{detailyId}" }) - Detail selectByDetailId(Integer detaily_id); + DetailY selectByDetailyId(Integer detaily_id); @Select({ "" + + }) + int getCount(DetailY detailY); } diff --git a/src/main/java/com/example/demo/mapper/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java index 7ed2967..49ca125 100644 --- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java +++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java @@ -203,7 +203,7 @@ public interface StatisticsMapper { " SUM(recharge_coin) AS rechargeSumCoin," , " SUM(free_coin) AS freeSumCoin," , " SUM(task_coin) AS taskSumCoin" , - " FROM detail" , + " FROM detail_y" , " WHERE update_type = '0'" , "", " AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}", @@ -228,7 +228,7 @@ public interface StatisticsMapper { " SUM(recharge_coin) AS rechargeSumCoin,", " SUM(free_coin) AS freeSumCoin,", " SUM(task_coin) AS taskSumCoin", - "FROM detail", + "FROM detail_y", "WHERE update_type = '1'", "", " AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}", @@ -242,14 +242,14 @@ public interface StatisticsMapper { // 本月 ---0 @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail where datediff(create_time,#{searchStartTime})>=0 " + + "from detail_y where datediff(create_time,#{searchStartTime})>=0 " + "and datediff(create_time,#{searchEndTime})<=0 and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')" }) List getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail where datediff(create_time,#{searchStartTime})>=0 " + + "from detail_y where datediff(create_time,#{searchStartTime})>=0 " + "and datediff(create_time,#{searchEndTime})<=0 and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')" }) @@ -258,13 +258,13 @@ public interface StatisticsMapper { @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail where create_time=#{searchEndTime} and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')" + "from detail_y where create_time=#{searchEndTime} and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')" }) List getMediuPayCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType); @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail where create_time=#{searchStartTime} and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')" + "from detail_y where create_time=#{searchStartTime} and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')" }) List getMediuConsumeCoinday1(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @@ -273,7 +273,7 @@ public interface StatisticsMapper { "IFNULL(SUM(recharge_coin), 0) AS rechargeSumCoin,", "IFNULL(SUM(free_coin), 0) AS freeSumCoin,", "IFNULL(SUM(task_coin), 0) AS taskSumCoin", - "FROM detail", + "FROM detail_y", "WHERE DATE(create_time) = #{searchEndTime}", "AND update_type = #{updateType}", "GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')" @@ -283,7 +283,7 @@ public interface StatisticsMapper { //给定时间段--10 @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " + + "from detail_y where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " + "and datediff(create_time,#{searchEndTime})<=0 and update_type = '0' group by DATE_FORMAT(create_time,'%m-%d')" }) List getMediuPayCoin1(SumCoin sumCoin); @@ -317,7 +317,7 @@ public interface StatisticsMapper { "today.freeSumCoin AS todayFree,", "today.taskSumCoin AS todayTask," , "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin" , - "FROM (SELECT jwcode, SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail WHERE create_time <= CURRENT_TIMESTAMP) AS today" , + "FROM (SELECT jwcode, SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail_y WHERE create_time <= CURRENT_TIMESTAMP) AS today" , "where jwcode=#{jwcode}"}) SumCoin getMess(Integer jwcode); @@ -327,7 +327,7 @@ public interface StatisticsMapper { " SUM(d.free_coin) AS totalFree," , " SUM(d.task_coin) AS totalTask," , " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS todayTotalCoin" , - "FROM detail d" , + "FROM detail_y d" , "INNER JOIN activity a ON d.activity_id = a.activity_id" , "INNER JOIN admin ad ON a.admin_id = ad.admin_id" , "where d.update_type='0'", @@ -344,7 +344,7 @@ public interface StatisticsMapper { " SUM(d.free_coin) AS totalFree," , " SUM(d.task_coin) AS totalTask," , " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS todayTotalCoin" , - "FROM detail d" , + "FROM detail_y d" , "INNER JOIN admin ad ON ad.admin_id = d.admin_id", "WHERE d.update_type = '1'", @@ -370,7 +370,7 @@ public interface StatisticsMapper { " UNION ALL SELECT 4 UNION ALL SELECT 5", " ) AS numbers", ") AS m", - "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%u') = m.week", + "LEFT JOIN detail_y d ON DATE_FORMAT(d.create_time, '%Y-%u') = m.week", "", "AND d.create_time BETWEEN #{searchStartTime} AND #{searchEndTime}", "", @@ -390,7 +390,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -410,7 +410,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -430,7 +430,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -450,7 +450,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -470,7 +470,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -490,7 +490,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -510,7 +510,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", @@ -530,7 +530,7 @@ public interface StatisticsMapper { " (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +", " SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", - "FROM detail d", + "FROM detail_y d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", diff --git a/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java index d9c7286..58aece8 100644 --- a/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java @@ -10,6 +10,7 @@ import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,25 +21,25 @@ import java.util.List; @RequiredArgsConstructor @CacheConfig(cacheNames = "detailY") public class DetailYServiceImpl implements DetailYService { - @Autowired - private DetailYMapper detailYMapper; + private final DetailYMapper detailYMapper; + @Override public int add(DetailY detailY) { return detailYMapper.add(detailY); } @Override - public List getAllDetail(DetailY detailY) { - return detailYMapper.select(detailY); + public int getCount(DetailY detailY) { + return detailYMapper.getCount(detailY); } + + @Cacheable(key = "#root.method.name + ':' + #pageNum + '-' + #pageSize + '-' + T(java.util.Objects).hashCode(#detailY)") @Override public PageInfo getDetailByPage(int pageNum, int pageSize, DetailY detailY) { PageHelper.startPage(pageNum, pageSize); - List list= detailYMapper.select(detailY); + List list = detailYMapper.select(detailY); return new PageInfo<>(list); } - - } diff --git a/src/main/java/com/example/demo/sevice/DetailYService.java b/src/main/java/com/example/demo/sevice/DetailYService.java index 8e1e3c9..5829824 100644 --- a/src/main/java/com/example/demo/sevice/DetailYService.java +++ b/src/main/java/com/example/demo/sevice/DetailYService.java @@ -8,6 +8,6 @@ import java.util.List; public interface DetailYService { int add(DetailY detailY); - List getAllDetail(DetailY detailY); + int getCount(DetailY detailY); PageInfo getDetailByPage(int pageNum, int pageSize, DetailY detailY); }