Browse Source

后端整合模块

detached
huangqizhen 5 months ago
parent
commit
c4193ec742
  1. 10
      pom.xml
  2. 4
      src/main/java/com/example/demo/controller/ActivityController.java
  3. 6
      src/main/java/com/example/demo/controller/AdminController.java
  4. 69
      src/main/java/com/example/demo/controller/ConsumeController.java
  5. 2
      src/main/java/com/example/demo/controller/DetailYController.java
  6. 9
      src/main/java/com/example/demo/controller/KafkaConfig.java
  7. 50
      src/main/java/com/example/demo/controller/KafkaConsumer.java
  8. 16
      src/main/java/com/example/demo/controller/KafkaProducer.java
  9. 28
      src/main/java/com/example/demo/controller/RechargeController.java
  10. 2
      src/main/java/com/example/demo/controller/StatisticsController.java
  11. 2
      src/main/java/com/example/demo/controller/UploadController.java
  12. 2
      src/main/java/com/example/demo/domain/entity/Audit.java
  13. 3
      src/main/java/com/example/demo/domain/entity/DetailY.java
  14. 22
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  15. 31
      src/main/java/com/example/demo/mapper/DetailYMapper.java
  16. 40
      src/main/java/com/example/demo/mapper/StatisticsMapper.java
  17. 15
      src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java
  18. 2
      src/main/java/com/example/demo/sevice/DetailYService.java

10
pom.xml

@ -25,15 +25,11 @@
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.101tec</groupId>-->
<!-- <artifactId>zkclient</artifactId>-->

4
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()));

6
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) {

69
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));
}
}

2
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()));

9
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 {
}

50
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);
}
}
}

16
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<String, String> kafkaTemplate;
public void sendMessage(String topic, String message) {
kafkaTemplate.send(topic, message);
}
}

28
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()));
}
}

2
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){

2
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);
}

2
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;

3
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;
}

22
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({
"<script>",
"select detail.*,admin.name as adminName ,admin.area as area ,user.name as userName,product.name as productName from detail ",
"inner join admin on detail.admin_id=admin.admin_id ",
"inner join user on detail.jwcode= user.jwcode ",
"inner join product on detail.product_id= product.product_id ",
"select detail_y.*,admin.name as adminName ,admin.area as area ,user.name as userName,product.name as productName from detail_y ",
"inner join admin on detail_y.admin_id=admin.admin_id ",
"inner join user on detail_y.jwcode= user.jwcode ",
"inner join product on detail_y.product_id= product.product_id ",
"<where>",
"`detail_flag`=1 AND update_type = '1'",
"<if test='jwcode!=null'>and detail.jwcode =#{jwcode}</if>",
"<if test='productName!=null'>and product.name like concat('%',#{productName},'%')</if>",
"<if test='consumePlatform!=null'>and detail.consume_platform like concat('%',#{consumePlatform},'%')</if>",
"<if test='consumeType!=null'>and detail.consume_type like concat('%',#{consumeType},'%')</if>",
"<if test='startDate != null and endDate != null'>AND detail.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"<if test='consumePlatform!=null'>and detail_y.consume_platform like concat('%',#{consumePlatform},'%')</if>",
"<if test='consumeType!=null'>and detail_y.consume_type like concat('%',#{consumeType},'%')</if>",
"<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"</where>",
"ORDER BY detail.create_time DESC",
"ORDER BY detail_y.create_time DESC",
"</script>"
})
List<DetailVo> 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<Detail> getDeatil(Integer jwcode);

31
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({
"<script>",
"select detail_y.*,admin.name,admin.area,user.name as uname,audit.status from detail",
"inner join `admin` on detail_y.admin_id = `admin`.admin_id",
"inner join `user` on detail_y.jwcode = `user`.jwcode",
"left join audit on detail_y.detail_id=audit.detail_id",
"select * from detail_y",
// "select detail_y.*,admin.name,admin.area,user.name as uname,audit.status from detail",
// "left join `admin` on `detail_y`.admin_id = `admin`.admin_id",
// "left join `user` on `detail_y`.jwcode = `user`.jwcode",
// "left join audit on `detail_y`.detail_id=audit.detail_id",
"<where>",
"(status is null or status='1')",
// "(status is null or status='1')",
"<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode=#{jwcode}</if>",
"<if test='updateType!=null'>and update_type=#{updateType}</if>",
"<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>",
@ -43,4 +44,22 @@ public interface DetailYMapper {
})
List<DetailY> select(DetailY detailY);
@Select({
"<script>",
"SELECT",
" SUM(`recharge_coin`) AS 'sumR',",
" SUM(`task_coin`) AS 'sumT',",
" SUM(`free_coin`) AS 'sumF'",
"FROM",
"`detail_y`",
"<where>",
"<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode=#{jwcode}</if>",
"<if test='updateType!=null'>and update_type=#{updateType}</if>",
"<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"</where>",
"</script>"
})
int getCount(DetailY detailY);
}

40
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'" ,
"<if test='searchStartTime != null and searchEndTime != null'>",
" 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'",
"<if test='searchStartTime != null and searchEndTime != null'>",
" 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<SumCoin> 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<SumCoin> 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<SumCoin> 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<SumCoin> 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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"AND d.create_time BETWEEN #{searchStartTime} AND #{searchEndTime}",
"</if>",
@ -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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"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",
"<if test='searchStartTime != null and searchEndTime != null'>",
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",

15
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<DetailY> 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<DetailY> getDetailByPage(int pageNum, int pageSize, DetailY detailY) {
PageHelper.startPage(pageNum, pageSize);
List<DetailY> list= detailYMapper.select(detailY);
List<DetailY> list = detailYMapper.select(detailY);
return new PageInfo<>(list);
}
}

2
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<DetailY> getAllDetail(DetailY detailY);
int getCount(DetailY detailY);
PageInfo<DetailY> getDetailByPage(int pageNum, int pageSize, DetailY detailY);
}
Loading…
Cancel
Save