diff --git a/src/main/java/com/example/demo/controller/AuditController.java b/src/main/java/com/example/demo/controller/AuditController.java index a635991..22f7173 100644 --- a/src/main/java/com/example/demo/controller/AuditController.java +++ b/src/main/java/com/example/demo/controller/AuditController.java @@ -7,6 +7,7 @@ import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; import com.example.demo.mapper.DetailMapper; +import com.example.demo.mapper.RefundMapper; import com.example.demo.mapper.UserMapper; import com.example.demo.sevice.AuditService; import lombok.RequiredArgsConstructor; @@ -29,6 +30,8 @@ import java.util.Arrays; @CrossOrigin public class AuditController { @Autowired + private RefundMapper refundMapper; + @Autowired private UserMapper userMapper; @Autowired private DetailMapper detailMapper; @@ -160,10 +163,10 @@ public class AuditController { @PostMapping("/refund") public Result searchForPage(@RequestBody Page page){ if(ObjectUtils.isEmpty(page.getPageNum())){ - return Result.success(auditService.searchForDetail(page.getConsumeDetail())); + return Result.success(auditService.searchForDetail(page.getDetail())); } else { - return Result.success(auditService.searchForConsumeDetail(page.getPageNum(), page.getPageSize(), page.getConsumeDetail())); + return Result.success(auditService.searchForConsumeDetail(page.getPageNum(), page.getPageSize(), page.getDetail())); } } diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 3d057f3..db7a589 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -1,10 +1,7 @@ package com.example.demo.controller; import com.example.demo.domain.entity.Detail; -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.domain.vo.*; import com.example.demo.controller.KafkaProducer; import com.example.demo.serviceImpl.ConsumeServiceImpl; import com.example.demo.serviceImpl.UserServiceImpl; @@ -52,13 +49,11 @@ public class ConsumeController { @PostMapping("/select") public Result search(@RequestBody Page page) { - Integer pageNum = page.getPageNum(); - Integer pageSize = page.getPageSize(); - DetailVo detailVo = page.getDetailVo(); - if (ObjectUtils.isEmpty(pageNum)) { - return Result.success(consumeService.search(detailVo)); - } else { - return Result.success(consumeService.searchForPage(pageNum, pageSize, detailVo)); + if(ObjectUtils.isEmpty(page.getPageNum())){ + return Result.success(consumeService.search(page.getConsumeDetail())); + } + else { + return Result.success(consumeService.searchForPage(page.getPageNum(), page.getPageSize(), page.getConsumeDetail())); } } 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 045aa26..33ed0e4 100644 --- a/src/main/java/com/example/demo/domain/entity/Audit.java +++ b/src/main/java/com/example/demo/domain/entity/Audit.java @@ -40,12 +40,12 @@ private BigDecimal rechargeGold; private String name; private String payWay; private String remark; - private String userName; + private String username; private String orderCode; private String rechargeWay; private String rechargeVoucher; private String rechargeTime; - private String username; + diff --git a/src/main/java/com/example/demo/domain/entity/UserGold.java b/src/main/java/com/example/demo/domain/entity/UserGold.java new file mode 100644 index 0000000..6a8854a --- /dev/null +++ b/src/main/java/com/example/demo/domain/entity/UserGold.java @@ -0,0 +1,26 @@ +package com.example.demo.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +public class UserGold { + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private String jwcode; + private Date createTime; + private String signature; + private BigDecimal sumgold; + private BigDecimal buyJb; + private BigDecimal coreJb; + private BigDecimal free6; + private BigDecimal free12; + private Date lastTime; + private String token; +} diff --git a/src/main/java/com/example/demo/domain/vo/DetailYVo.java b/src/main/java/com/example/demo/domain/vo/DetailYVo.java new file mode 100644 index 0000000..4982081 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/DetailYVo.java @@ -0,0 +1,57 @@ +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 DetailYVo { + + private Integer detailId; + private String name; + private String jwcode; + private String area; + private Integer activityId; + private String rechargeWay; + private String goods; + private String consumePlatform; + private String consumeType; + private String refundType; + private String refundGoods; + private Integer contactId; + private String remark; + private BigDecimal rechargeCoin; + private BigDecimal freeCoin; + private BigDecimal taskCoin; + private Integer adminId; + private Integer status; + private String updateType; + private Integer detailFlag; + // @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") +// @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + //搜索消费时间 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date searchStartTime; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date searchEndTime; + + //提交人姓名 + private String adminName; + + //消费金币总数 + private Integer totalCoin; + + // + private String productName; + private String userName; + private Date startDate; + private Date endDate; + private String token; + } + diff --git a/src/main/java/com/example/demo/domain/vo/Page.java b/src/main/java/com/example/demo/domain/vo/Page.java index c6b361c..659b385 100644 --- a/src/main/java/com/example/demo/domain/vo/Page.java +++ b/src/main/java/com/example/demo/domain/vo/Page.java @@ -25,6 +25,7 @@ public class Page implements Serializable { private DetailVo detailVo; private Admin admin; private DetailY detailY; + private DetailYVo detailYVo; } diff --git a/src/main/java/com/example/demo/domain/vo/UserVo.java b/src/main/java/com/example/demo/domain/vo/UserVo.java index f2e2de9..18c8f5a 100644 --- a/src/main/java/com/example/demo/domain/vo/UserVo.java +++ b/src/main/java/com/example/demo/domain/vo/UserVo.java @@ -26,6 +26,7 @@ public class UserVo { private BigDecimal free12; private BigDecimal coreJb; private BigDecimal buyJb ; + 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 6de6c8b..1a5b8f0 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -5,7 +5,7 @@ import com.example.demo.domain.entity.Admin; import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.Product; import com.example.demo.domain.entity.User; -import com.example.demo.domain.vo.DetailVo; +import com.example.demo.domain.vo.ConsumeDetail; import org.apache.ibatis.annotations.*; import java.util.List; @@ -26,7 +26,7 @@ public interface ConsumeMapper { Admin getByadminId(@Param("adminId") Integer adminId); //新增消费记录 @Insert({ - "insert into detail_y", + "insert into detail", "(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,28 +41,29 @@ public interface ConsumeMapper { //模糊分页查询,查询消费明细 @Select({ "" }) - List select(DetailVo detailVo); + List select(ConsumeDetail consumeDetail); //查询消费信息 @Select({ - "select * ,product.name as productName from detail_y " , - "inner join product on detail_y.product_id= product.product_id ", + "select * ,product.name as productName from detail " , + "inner join product on detail.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/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java index 49ca125..d957b31 100644 --- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java +++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java @@ -382,165 +382,152 @@ public interface StatisticsMapper { @Select({ "" }) List getBuyAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) List getBuyAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) List getBuyAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) List getBuy(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) List getPayAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) List getPayAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) List getPayAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - - List getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + List getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); } diff --git a/src/main/java/com/example/demo/mapper/UserMapper.java b/src/main/java/com/example/demo/mapper/UserMapper.java index 2d6861c..08f468e 100644 --- a/src/main/java/com/example/demo/mapper/UserMapper.java +++ b/src/main/java/com/example/demo/mapper/UserMapper.java @@ -2,6 +2,7 @@ package com.example.demo.mapper; import com.example.demo.domain.entity.User; +import com.example.demo.domain.entity.UserGold; import com.example.demo.domain.vo.UserVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -14,7 +15,7 @@ import java.util.List; public interface UserMapper { @Select({ "" + }) + UserGold selectGold(String userGold); + @Select({ + "", }) int update(User user); + @Update({ + "", + }) + int updateGold(UserGold userGold); // //去掉免费金币,先去6个月,再去12月 // @Update({ diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java index 5658d30..1ee7fdc 100644 --- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java @@ -3,15 +3,9 @@ package com.example.demo.serviceImpl; -import com.example.demo.domain.entity.Audit; -import com.example.demo.domain.entity.Detail; -import com.example.demo.domain.entity.DetailY; -import com.example.demo.domain.entity.User; +import com.example.demo.domain.entity.*; import com.example.demo.domain.vo.ConsumeDetail; -import com.example.demo.mapper.AuditMapper; -import com.example.demo.mapper.DetailYMapper; -import com.example.demo.mapper.RechargeMapper; -import com.example.demo.mapper.UserMapper; +import com.example.demo.mapper.*; import com.example.demo.sevice.AuditService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -38,6 +32,7 @@ public class AuditServiceImpl implements AuditService { private final UserMapper userMapper; private final AuditMapper auditMapper; private final DetailYMapper detailYMapper; + private final RefundMapper refundMapper; @CacheEvict(value = {"audit", "recharge"}, allEntries = true) @Override @@ -63,15 +58,16 @@ public class AuditServiceImpl implements AuditService { Integer status = audit.getStatus(); if(status == 1){ String jwcode=audit.getJwcode(); + System.out.println(jwcode); BigDecimal paidGold1 =audit.getPaidGold(); BigDecimal freeGold1 =audit.getFreeGold(); - User user = userMapper.select(jwcode); - BigDecimal buyJb =user.getBuyJb(); + UserGold userGold = userMapper.selectGold(jwcode); + BigDecimal buyJb =userGold.getBuyJb(); buyJb = buyJb.add(paidGold1); // 设置更新后的Sumgold回到user对象 - user.setBuyJb(buyJb); + userGold.setBuyJb(buyJb); LocalDate now = LocalDate.now(); // 判断当前日期是在六月之前还是之后 @@ -83,16 +79,16 @@ public class AuditServiceImpl implements AuditService { // 根据月份更新 free6 或 free12 if (isBeforeJune||isJune) { // 如果是六月前,更新 free6 - BigDecimal free6 = user.getFree6().add(freeGold1); - user.setFree6(free6); + BigDecimal free6 = userGold.getFree6().add(freeGold1); + userGold.setFree6(free6); } else if (isAfterJune) { // 如果是六月后,更新 free12 - BigDecimal free12 = user.getFree12().add(freeGold1); - user.setFree12(free12); + BigDecimal free12 = userGold.getFree12().add(freeGold1); + userGold.setFree12(free12); } - System.out.println(user+"----------------------------------------------------------"); - result = userMapper.update(user); + System.out.println(userGold+"----------------------------------------------------------"); + result = userMapper.updateGold(userGold); if (result != 1) { throw new Exception("Failed to insert recharge data"); } @@ -109,7 +105,7 @@ public class AuditServiceImpl implements AuditService { int adminId =audit.getAdminId(); String activityName = audit.getActivityName(); String area = audit.getArea(); - String username = audit.getUserName(); + String username = audit.getUsername(); Integer status1=audit.getStatus(); String reson = audit.getReson(); String name = audit.getName(); @@ -161,19 +157,19 @@ public class AuditServiceImpl implements AuditService { } @Cacheable(key="#root.method.name") @Override - public List searchForDetail(ConsumeDetail consumeDetail) { - return auditMapper.selectCon(consumeDetail); + public List searchForDetail(Detail detail) { + return refundMapper.select(detail); } //问题:每次更新完数据后,redis依然是老数据,无法实时更新 //解决方案:除了查询操作之外,所有的操纵都要执行删除缓存 - @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #consumeDetail.hashCode() ") + @Cacheable(key = "#root.method.name + ':' + #pageNum + '-' + #pageSize + '-' + T(java.util.Objects).hashCode(#detail)") @Override - public PageInfo searchForConsumeDetail(Integer pageNum, Integer pageSize, ConsumeDetail consumeDetail) { + public PageInfo searchForConsumeDetail(Integer pageNum, Integer pageSize, Detail detail) { PageHelper.startPage(pageNum,pageSize); - List list= auditMapper.selectCon(consumeDetail); + List list= refundMapper.select(detail); return new PageInfo<>(list); } } diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index c83df47..124e351 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -6,7 +6,9 @@ import com.example.demo.domain.entity.Admin; import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.Product; import com.example.demo.domain.entity.User; +import com.example.demo.domain.vo.ConsumeDetail; import com.example.demo.domain.vo.DetailVo; +import com.example.demo.domain.vo.DetailYVo; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.UserMapper; import com.example.demo.sevice.ConsumeService; @@ -107,15 +109,16 @@ public class ConsumeServiceImpl implements ConsumeService { @Cacheable(key="#root.method.name") @Override - public List search(DetailVo detailVo) { - return consumeMapper.select(detailVo); + public List search(ConsumeDetail consumeDetail) { + return consumeMapper.select(consumeDetail); } - @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #detailVo.hashCode() ") + @Cacheable(value = "myCache", key = "#root.methodName + '_' + (#detailYVo != null ? #detailYVo.hashCode() : 'null')") + @Override - public PageInfo searchForPage(Integer pageNum, Integer pageSize, DetailVo detailVo) { + public PageInfo searchForPage(Integer pageNum, Integer pageSize, ConsumeDetail consumeDetail) { PageHelper.startPage(pageNum, pageSize); - List list = consumeMapper.select(detailVo); + List list = consumeMapper.select(consumeDetail); return new PageInfo<>(list); } diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 073b9d9..7467480 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -109,7 +109,7 @@ public class RefundServiceImpl implements RefundService { } - @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #detail.auditStatus ") + @Cacheable(key = "#root.method.name + ':' + #pageNum + '-' + #pageSize + '-' + T(java.util.Objects).hashCode(#detail)") @Override public PageInfo searchForPage(Integer pageNum, Integer pageSize, Detail detail) { PageHelper.startPage(pageNum, pageSize); diff --git a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java index b498356..facb57b 100644 --- a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java @@ -142,7 +142,7 @@ public class StatisticsServiceImpl implements StatisticsService { return statisticsMapper.getMediumAreaConsume(); } - + @Cacheable(key = "#root.method.name+ T(java.util.Objects).hashCode(#meium)") @Override public List getMee(Meium meium) { diff --git a/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java index 97cd6e5..5a0656b 100644 --- a/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java @@ -27,7 +27,7 @@ public class UserServiceImpl implements UserSevice { private final UserMapper userMapper; @Override - public List search(UserVo userVo) throws Exception{ + public UserVo search(UserVo userVo) throws Exception{ User sUser = userMapper.select(userVo.getJwcode()); if(ObjectUtils.isEmpty(sUser)){ throw new Exception("无此精网号"); diff --git a/src/main/java/com/example/demo/sevice/AuditService.java b/src/main/java/com/example/demo/sevice/AuditService.java index dfccdb7..4df2713 100644 --- a/src/main/java/com/example/demo/sevice/AuditService.java +++ b/src/main/java/com/example/demo/sevice/AuditService.java @@ -3,6 +3,7 @@ package com.example.demo.sevice; import com.example.demo.domain.entity.Audit; +import com.example.demo.domain.entity.Detail; import com.example.demo.domain.vo.ConsumeDetail; import com.github.pagehelper.PageInfo; @@ -14,7 +15,7 @@ public interface AuditService { int goldedit(Audit audit) throws Exception; List search(Audit audit) ; PageInfo searchForPage(Integer pageNum, Integer pageSize, Audit audit); - List searchForDetail(ConsumeDetail consumeDetail); - PageInfo searchForConsumeDetail(Integer pageNum, Integer pageSize, ConsumeDetail consumeDetail); + List searchForDetail(Detail detail); + PageInfo searchForConsumeDetail(Integer pageNum, Integer pageSize, Detail detail); } diff --git a/src/main/java/com/example/demo/sevice/ConsumeService.java b/src/main/java/com/example/demo/sevice/ConsumeService.java index 1876b69..29b44dd 100644 --- a/src/main/java/com/example/demo/sevice/ConsumeService.java +++ b/src/main/java/com/example/demo/sevice/ConsumeService.java @@ -4,7 +4,9 @@ package com.example.demo.sevice; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.User; +import com.example.demo.domain.vo.ConsumeDetail; import com.example.demo.domain.vo.DetailVo; +import com.example.demo.domain.vo.DetailYVo; import com.github.pagehelper.PageInfo; import java.util.List; @@ -17,7 +19,7 @@ public interface ConsumeService { Admin getByadminId(Integer adminId); - List search(DetailVo detailVo); + List search(ConsumeDetail consumeDetail); - PageInfo searchForPage(Integer pageNum, Integer pageSize, DetailVo detailVo); + PageInfo searchForPage(Integer pageNum, Integer pageSize, ConsumeDetail consumeDetail); } diff --git a/src/main/java/com/example/demo/sevice/UserSevice.java b/src/main/java/com/example/demo/sevice/UserSevice.java index a719401..b8197f3 100644 --- a/src/main/java/com/example/demo/sevice/UserSevice.java +++ b/src/main/java/com/example/demo/sevice/UserSevice.java @@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; public interface UserSevice { - List search(UserVo userVo) throws Exception; + UserVo search(UserVo userVo) throws Exception; PageInfo searchForPage(Integer pageNum, Integer pageSize, User User); }