diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java index abca329..f38a3d7 100644 --- a/src/main/java/com/example/demo/DemoApplication.java +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -13,6 +13,7 @@ import org.springframework.cache.annotation.EnableCaching; @MapperScan(basePackages = "com.example.demo.mapper", sqlSessionTemplateRef = "mysql1SqlSessionTemplate") @MapperScan(basePackages = "com.example.demo.mapperLink", sqlSessionTemplateRef = "mysql2SqlSessionTemplate") @MapperScan(basePackages = "com.example.demo.mapperPay", sqlSessionTemplateRef = "mysql3SqlSessionTemplate") + public class DemoApplication { public static void main(String[] args) { diff --git a/src/main/java/com/example/demo/controller/AdminController.java b/src/main/java/com/example/demo/controller/AdminController.java index 9a8e068..c003ac9 100644 --- a/src/main/java/com/example/demo/controller/AdminController.java +++ b/src/main/java/com/example/demo/controller/AdminController.java @@ -58,13 +58,9 @@ public class AdminController { @PostMapping("/login") public Result login(@RequestBody Admin admin){ - try { - admin = adminService.login(admin); - String token = JWTUtil.createJWT(admin); - admin.setPassword(null); return Result.success(token,admin); } catch (Exception e) { diff --git a/src/main/java/com/example/demo/controller/DetailYController.java b/src/main/java/com/example/demo/controller/DetailYController.java index d3ea307..bbfda8c 100644 --- a/src/main/java/com/example/demo/controller/DetailYController.java +++ b/src/main/java/com/example/demo/controller/DetailYController.java @@ -5,6 +5,7 @@ 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.*; +import com.example.demo.serviceImpl.DetailYServiceImpl; import com.example.demo.sevice.DetailService; import com.example.demo.sevice.DetailYService; //import com.example.demo.sevice.OtherService; @@ -24,7 +25,7 @@ import java.util.List; @Slf4j @CrossOrigin public class DetailYController { - private final DetailYService detailYService; + private final DetailYServiceImpl detailYService; private final OtherService otherService; @PostMapping("/add") public Result add(@RequestBody DetailY detailY) { @@ -42,6 +43,9 @@ public class DetailYController { return Result.success(detailYService.getCount(page.getDetailY())); } else { + System.out.println(page.getPageNum()); + System.out.println(page.getPageSize()); + System.out.println(page.getDetailY().getSortField()); return Result.success(detailYService.getDetailByPage(page.getPageNum(), page.getPageSize(), page.getDetailY())); } } diff --git a/src/main/java/com/example/demo/controller/DouController.java b/src/main/java/com/example/demo/controller/DouController.java index 8429aa5..a342a4a 100644 --- a/src/main/java/com/example/demo/controller/DouController.java +++ b/src/main/java/com/example/demo/controller/DouController.java @@ -110,4 +110,13 @@ public class DouController { public Result SearchPayIp(){ return Result.success(douService.SearchPayIp()); } + @RequestMapping("/getTotal") + public Result getTotal(@RequestBody Total total){ + return Result.success(douService.getTotal(total)); + } + // 获取充值类型填充下拉框(现在还没有下拉框好有下拉框了但是它好长) + @RequestMapping("/getType") + public Result getType(){ + return Result.success(douService.getType()); + } } diff --git a/src/main/java/com/example/demo/controller/RechargeController.java b/src/main/java/com/example/demo/controller/RechargeController.java index 7c2865e..f17ac70 100644 --- a/src/main/java/com/example/demo/controller/RechargeController.java +++ b/src/main/java/com/example/demo/controller/RechargeController.java @@ -5,6 +5,7 @@ import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.RechargeA; import com.example.demo.domain.vo.Result; //import com.example.demo.controller.KafkaProducer; +import com.example.demo.serviceImpl.RechargeServiceImpl; import com.example.demo.sevice.RechargeService; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.ObjectMapper; @@ -29,7 +30,7 @@ import java.util.stream.Collectors; @JsonIgnoreProperties(ignoreUnknown = true) public class RechargeController { - private final RechargeService rechargeService; + private final RechargeServiceImpl rechargeService; private final ObjectMapper objectMapper; // 添加这一行 // @Autowired // private KafkaProducer kafkaProducer; diff --git a/src/main/java/com/example/demo/controller/RefundController.java b/src/main/java/com/example/demo/controller/RefundController.java index ba9fc55..5fb0e80 100644 --- a/src/main/java/com/example/demo/controller/RefundController.java +++ b/src/main/java/com/example/demo/controller/RefundController.java @@ -31,8 +31,13 @@ public class RefundController { if (refundService.existsByContactId(detail.getContactId())) { return Result.error("该订单已退款: " + detail.getContactId()); } - - refundService.add(detail); + try { + refundService.add(detail); + } + catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } refundService.addAudit(detail); refundService.update(detail.getContactId()); diff --git a/src/main/java/com/example/demo/controller/UploadController.java b/src/main/java/com/example/demo/controller/UploadController.java index 138166d..e6fdede 100644 --- a/src/main/java/com/example/demo/controller/UploadController.java +++ b/src/main/java/com/example/demo/controller/UploadController.java @@ -21,7 +21,6 @@ public class UploadController { @PostMapping public Result upload(MultipartFile file) { - String fileName = UploadUtil.save(file,path); return Result.success(fileName); } diff --git a/src/main/java/com/example/demo/domain/dou/Total.java b/src/main/java/com/example/demo/domain/dou/Total.java new file mode 100644 index 0000000..e62325d --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Total.java @@ -0,0 +1,29 @@ +package com.example.demo.domain.dou; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Total { + private String token; + private String jwcode; + private String orderNo; + private String type; + private String ipAddress; + private String deptName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; + private Integer count; + private Integer price; +} 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 9a64c4a..b4eaf39 100644 --- a/src/main/java/com/example/demo/domain/entity/Audit.java +++ b/src/main/java/com/example/demo/domain/entity/Audit.java @@ -26,6 +26,9 @@ public class Audit implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; private Date startDate; private Date endDate; private String reson; diff --git a/src/main/java/com/example/demo/domain/entity/Detail.java b/src/main/java/com/example/demo/domain/entity/Detail.java index 139d798..3a5581e 100644 --- a/src/main/java/com/example/demo/domain/entity/Detail.java +++ b/src/main/java/com/example/demo/domain/entity/Detail.java @@ -40,6 +40,9 @@ public class Detail implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date auditTime; private String username; private Date endDate; private Date startDate; 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 e87138b..200a292 100644 --- a/src/main/java/com/example/demo/domain/entity/DetailY.java +++ b/src/main/java/com/example/demo/domain/entity/DetailY.java @@ -86,5 +86,8 @@ public class DetailY implements Serializable { private String uid; private BigDecimal gold_last; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; } diff --git a/src/main/java/com/example/demo/domain/vo/RechargeVo.java b/src/main/java/com/example/demo/domain/vo/RechargeVo.java index 1acfa64..787403a 100644 --- a/src/main/java/com/example/demo/domain/vo/RechargeVo.java +++ b/src/main/java/com/example/demo/domain/vo/RechargeVo.java @@ -24,6 +24,7 @@ public class RechargeVo implements Serializable { // 实现 Serializable 接口 private BigDecimal rechargeGold; private String payWay; private String rechargeWay; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date rechargeTime; private String rechargeVoucher; private Integer adminId; @@ -34,6 +35,9 @@ public class RechargeVo implements Serializable { // 实现 Serializable 接口 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; private Date startDate; private Date endDate; private String username; diff --git a/src/main/java/com/example/demo/mapper/AdminMapper.java b/src/main/java/com/example/demo/mapper/AdminMapper.java index 45ba51c..678a921 100644 --- a/src/main/java/com/example/demo/mapper/AdminMapper.java +++ b/src/main/java/com/example/demo/mapper/AdminMapper.java @@ -7,6 +7,8 @@ import org.apache.ibatis.annotations.*; import java.util.List; +import static net.sf.jsqlparser.parser.feature.Feature.select; + @Mapper public interface AdminMapper { @Insert({ @@ -87,4 +89,6 @@ public interface AdminMapper { }) Admin selectByJwcode(String jwcode); + @Select({"select jwcode from admin where jwcode=#{jwcode}"}) + String checkJwcode(String jwcode); } diff --git a/src/main/java/com/example/demo/mapper/AuditMapper.java b/src/main/java/com/example/demo/mapper/AuditMapper.java index 2518a8b..38077e0 100644 --- a/src/main/java/com/example/demo/mapper/AuditMapper.java +++ b/src/main/java/com/example/demo/mapper/AuditMapper.java @@ -29,6 +29,7 @@ public interface AuditMapper { "recharge_id=#{rechargeId},", "status=#{status},", "`reson`=#{reson}", + "`audit_time`=#{auditTime}", "", "where audit_id=#{auditId}", "" diff --git a/src/main/java/com/example/demo/mapperLink/DouMapper.java b/src/main/java/com/example/demo/mapperLink/DouMapper.java index 626d14d..e7e6974 100644 --- a/src/main/java/com/example/demo/mapperLink/DouMapper.java +++ b/src/main/java/com/example/demo/mapperLink/DouMapper.java @@ -19,6 +19,7 @@ public interface DouMapper { Integer getSpendTotal(SpendTotal spendTotal); List getPay(Pay pay); List getPayIp(); - RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal); + Total getTotal(Total total); + List getType(); } diff --git a/src/main/java/com/example/demo/mapperPay/PayMapper.java b/src/main/java/com/example/demo/mapperPay/PayMapper.java index 325c1e7..ac10df4 100644 --- a/src/main/java/com/example/demo/mapperPay/PayMapper.java +++ b/src/main/java/com/example/demo/mapperPay/PayMapper.java @@ -13,4 +13,5 @@ public interface PayMapper { List getStyle(); RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal); + } diff --git a/src/main/java/com/example/demo/security/SecurityConfig.java b/src/main/java/com/example/demo/security/SecurityConfig.java index 3275c91..5f0068f 100644 --- a/src/main/java/com/example/demo/security/SecurityConfig.java +++ b/src/main/java/com/example/demo/security/SecurityConfig.java @@ -60,13 +60,16 @@ public class SecurityConfig { request .requestMatchers( HttpMethod.POST, // 用户不登录就可以访问的路径 - "/admin/login","/upload/**","/detailY/ERP").permitAll() + "/admin/login","/upload/**","/detailY/ERP","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**").permitAll() .requestMatchers( - "/error","alipay/**","/upload/**" + "/error","alipay/**","/upload/**","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**" ).permitAll() .anyRequest().authenticated() // 其它路径,必须要登录后才能访问 ); + + + http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); // 然后是TokenFilter return http.build(); @@ -89,6 +92,9 @@ public class SecurityConfig { * @return */ @Bean + + + public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } diff --git a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java index 82a0494..449aabb 100644 --- a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import com.github.pagehelper.PageInfo; import org.springframework.transaction.annotation.Transactional; @@ -33,8 +34,9 @@ public class ActivityServiceImpl implements ActivityService { public int add(Activity activity) { return activityMapper.add(activity); } - @CacheEvict(value = "activity",allEntries = true) + @Override + @CacheEvict(value = {"activity"}, allEntries = true) public int edit(Activity activity) { activity.setActivityFlag(0); return activityMapper.edit(activity); @@ -46,8 +48,9 @@ public class ActivityServiceImpl implements ActivityService { return activityMapper.select(activity); } - @CacheEvict(value = {"activity"}, allEntries = true) + @Override + @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #activity.hashCode() ") public PageInfo searchForPage(Integer pageNum, Integer pageSize, Activity activity) { // PageHelper.startPage(pageNum, pageSize); // List list = activityMapper.select(activity); diff --git a/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java index 33d8503..f068020 100644 --- a/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java @@ -3,6 +3,7 @@ package com.example.demo.serviceImpl; import com.example.demo.domain.entity.Admin; import com.example.demo.mapper.AdminMapper; +import com.example.demo.mapper.UserMapper; import com.example.demo.security.SecurityConfig; import com.example.demo.sevice.AdminService; import com.github.pagehelper.PageHelper; @@ -25,6 +26,8 @@ import org.springframework.util.ObjectUtils; import java.util.List; +import java.util.Objects; + @Transactional @Service @RequiredArgsConstructor @@ -37,6 +40,8 @@ public class AdminServiceImpl implements AdminService { private AuthenticationManager authenticationManager; @Autowired private PasswordEncoder passwordEncoder; + @Autowired + private UserMapper userMapper; @Override public int add(Admin admin) { @@ -83,30 +88,37 @@ public class AdminServiceImpl implements AdminService { } @Override public Admin login(Admin admin) throws Exception { +try { + Admin admin1 = adminMapper.selectByJwcode(admin.getJwcode()); + String[] machineIds = admin1.getMachineId().split(","); + + boolean flag = false; + for (String machineId : machineIds) { + if (admin.getMachineId() != null && admin.getMachineId().equals(machineId)) + flag = true; + } + if (!flag) { + throw new RuntimeException("你没有使用该机器的权限!"); + } + System.out.println(admin.getJwcode()); + System.out.println(admin.getPassword()); + UsernamePasswordAuthenticationToken token = + new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword()); + + Authentication authentication = authenticationManager.authenticate(token); + Admin loginAdmin = (Admin) authentication.getPrincipal(); + + return loginAdmin; + + }catch (NullPointerException e){ + throw new RuntimeException("无此精网号"); + }catch(BadCredentialsException exception){ + throw new BadCredentialsException("密码错误"); + }catch (Exception e){ + throw new RuntimeException("你没有使用该机器的权限!"); + } - Admin admin1=adminMapper.selectByJwcode(admin.getJwcode()); - String[] machineIds = admin1.getMachineId().split(","); - boolean flag = false; - for(String machineId:machineIds) { - if (admin.getMachineId() != null && admin.getMachineId().equals(machineId)) - flag = true; - } - if (!flag) { - throw new RuntimeException("你没有使用该机器的权限!"); - } - System.out.println(admin.getJwcode()); - System.out.println(admin.getPassword()); - UsernamePasswordAuthenticationToken token = - new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword()); - try { - Authentication authentication = authenticationManager.authenticate(token); - Admin loginAdmin = (Admin) authentication.getPrincipal(); - - return loginAdmin; - }catch (BadCredentialsException exception){ - throw new BadCredentialsException("用户或密码错误"); - } } @Override diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java index 654fc81..3cda79d 100644 --- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java @@ -13,6 +13,7 @@ import com.example.demo.sevice.AuditService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -46,6 +47,7 @@ public class AuditServiceImpl implements AuditService { @CacheEvict(value = {"audit", "recharge","refund"}, allEntries = true) @Override public int edit(Audit audit) { + audit.setAuditTime(new Date()); return auditMapper.update(audit); } @@ -53,6 +55,7 @@ public class AuditServiceImpl implements AuditService { @Override @Transactional public int goldedit(Audit audit) throws Exception { + audit.setAuditTime(new Date()); int result = auditMapper.update(audit); if (result != 1) { throw new Exception("Failed to insert recharge data"); @@ -119,26 +122,27 @@ public class AuditServiceImpl implements AuditService { Date createTime = audit.getCreateTime(); DetailY detailY = new DetailY(); - detailY.setJwcode(JwCode); - detailY.setActivityId(activityId); - detailY.setRechargeCoin(paidGold); - detailY.setRechargeWay(Way); - detailY.setFreeCoin(freeGold); - detailY.setRemark(remark); - detailY.setUpdateType(0); - detailY.setAdminId(adminId); - detailY.setActivityName(activityName); - detailY.setArea(area); - detailY.setName(name); - detailY.setUsername(username); - detailY.setOrderCode(uuid); - detailY.setStatus(status1); - detailY.setReson(reson); - detailY.setFlag(flag); - detailY.setCreateTime(createTime); - detailY.setConsumePlatform("金币系统"); - - +// detailY.setJwcode(JwCode); +// detailY.setActivityId(activityId); +// detailY.setRechargeCoin(paidGold); +// detailY.setRechargeWay(Way); +// detailY.setFreeCoin(freeGold); +// detailY.setRemark(remark); +// detailY.setUpdateType(0); +// detailY.setAdminId(adminId); +// detailY.setActivityName(activityName); +// detailY.setArea(area); +// detailY.setName(name); +// detailY.setUsername(username); +// detailY.setOrderCode(uuid); +// detailY.setStatus(status1); +// detailY.setReson(reson); +// detailY.setFlag(flag); +// detailY.setCreateTime(createTime); +// detailY.setConsumePlatform("金币系统"); +// detailY.setAuditTime(audit.getAuditTime()); + +// BeanUtils.copyProperties(audit,detailY); System.out.println(uuid+"/*/*/*-/-*/-/*-/-*/-/*-/*-/-*"); detailY.setOrderCode(uuid); @@ -149,7 +153,7 @@ public class AuditServiceImpl implements AuditService { GoldTistV2.addCoinNew(jwcode, 64, paidGold.doubleValue()/100, remark, 0, name, "金币充值"); } if(freeGold != null && freeGold.compareTo(BigDecimal.ZERO) != 0) { - GoldTistV2.addCoinNew(jwcode, 63, freeGold.doubleValue()/100, remark, 0, name, "金币充值 "); + GoldTistV2.addCoinNew(jwcode, 63, freeGold.doubleValue()/100, remark, 0, name, "金币充值"); } } return auditMapper.update(audit); @@ -175,6 +179,7 @@ public class AuditServiceImpl implements AuditService { //问题:每次更新完数据后,redis依然是老数据,无法实时更新 //解决方案:除了查询操作之外,所有的操纵都要执行删除缓存 + //孙加倍cache修改1 @Cacheable(key = "#root.method.name + ':' + #pageNum + '-' + #pageSize + '-' + T(java.util.Objects).hashCode(#detail)") @Override diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index 0752996..33acdd5 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import java.math.BigDecimal; import java.time.LocalDate; @@ -38,7 +39,14 @@ public class ConsumeServiceImpl implements ConsumeService { @Override //新增消费记录 public int insert(DetailY detailY) throws Exception { - + User sUser = userMapper.select(detailY.getJwcode()); + if(ObjectUtils.isEmpty(sUser)){ + throw new Exception("无此精网号"); + } else if (detailY.getJwcode()==null||detailY.getJwcode().equals("")) { + throw new Exception("精网号不能为空"); + } else if (detailY.getAllGold()==null||detailY.getAllGold().compareTo(BigDecimal.ZERO) < 0) { + throw new Exception("消费金币总数不能为空或小于等于0"); + } // 生成UUID作为订单编号 String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' detailY.setOrderCode(uuid); diff --git a/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java index 6841211..a3cec4b 100644 --- a/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java @@ -29,9 +29,9 @@ public class DetailYServiceImpl implements DetailYService { public int add(DetailY detailY) { return detailYMapper.add(detailY); } - @Cacheable(key = "#root.method.name + ':' + #detailY.hashCode()") @Override public DetailY getCount(DetailY detailY) { + return detailYMapper.getCount(detailY); } @@ -47,7 +47,7 @@ public class DetailYServiceImpl implements DetailYService { return new PageInfo<>(list); } - + //孙加倍cache修改2 @Cacheable(key = "#root.method.name + ':' + #pageNum + '-' + #pageSize + '-' + #detailY.hashCode()") @Override public PageInfo getDetailByPage(int pageNum, int pageSize, DetailY detailY) { diff --git a/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java index 0825de2..3366f90 100644 --- a/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java @@ -185,4 +185,14 @@ public class DouServiceImpl implements DouService { List list= payMapper.getPay(pay); return new PageInfo<>(list); } + + @Override + public Total getTotal(Total total) { + return douMapper.getTotal(total); + } + + @Override + public List getType() { + return douMapper.getType(); + } } diff --git a/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java index e4c5c4e..86b7c35 100644 --- a/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java @@ -98,9 +98,9 @@ public class OtherServiceImpl implements OtherService { typesToUpdateOne.add("43"); typesToUpdateOne.add("50"); typesToUpdateOne.add("51"); - typesToUpdateOne.add("52"); typesToUpdateOne.add("62"); + typesToUpdateTwo.add("52"); typesToUpdateTwo.add("55"); typesToUpdateTwo.add("56"); typesToUpdateTwo.add("57"); diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index fb0c324..ac2937e 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -3,6 +3,7 @@ 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.Recharge; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.RechargeA; import com.example.demo.domain.vo.RechargeVo; import com.example.demo.domain.vo.Result; @@ -20,6 +21,7 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import java.math.BigDecimal; import java.util.Arrays; @@ -44,6 +46,16 @@ public class RechargeServiceImpl implements RechargeService { @CacheEvict(value = "recharge",allEntries = true) public int add(Recharge recharge) throws Exception { + User sUser = userMapper.select(recharge.getJwcode()); + if(ObjectUtils.isEmpty(sUser)){ + throw new Exception("无此精网号"); + } else if (recharge.getJwcode()==null||recharge.getJwcode().equals("")) { + throw new Exception("精网号不能为空"); + } else if (recharge.getActivityId()==null||recharge.getActivityId()<=0) { + throw new Exception("活动ID错误或为空"); + } else if (recharge.getPayWay()==null||recharge.getPayWay().equals("")) { + throw new Exception("支付方式不能为空"); + } // return rechargeMapper.insert(recharge); String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' @@ -58,10 +70,8 @@ public class RechargeServiceImpl implements RechargeService { BigDecimal RechargeGold = recharge.getRechargeGold(); BigDecimal PaidGold = recharge.getPaidGold(); BigDecimal FreeGold = recharge.getFreeGold(); - if (RechargeGold.compareTo(BigDecimal.ZERO) < 0 || RechargeGold.compareTo(new BigDecimal("999999")) > 0 || - PaidGold.compareTo(BigDecimal.ZERO) < 0 || PaidGold.compareTo(new BigDecimal("999999")) > 0 || - FreeGold.compareTo(BigDecimal.ZERO) < 0 || FreeGold.compareTo(new BigDecimal("999999")) > 0) { + PaidGold.compareTo(BigDecimal.ZERO) < 0 || PaidGold.compareTo(new BigDecimal("999999")) > 0 ) { throw new Exception("充值金额有误,金额必须在0到999999之间!"); } @@ -144,9 +154,12 @@ public class RechargeServiceImpl implements RechargeService { public List search(RechargeVo rechargeVo) { return rechargeMapper.select(rechargeVo); } + //孙加倍cache修改3 @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #rechargeVo.hashCode() ") @Override public PageInfo searchForPage(Integer pageNum, Integer pageSize, RechargeVo rechargeVo) { + System.out.println(rechargeVo.getSortOrder()); + System.out.println(rechargeVo.getSortField()); PageHelper.startPage(pageNum, pageSize); List list= rechargeMapper.select(rechargeVo); 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 facd657..3bb9a86 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -2,18 +2,22 @@ package com.example.demo.serviceImpl; import com.example.demo.domain.entity.Detail; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.RefundA; import com.example.demo.mapper.RefundMapper; +import com.example.demo.mapper.UserMapper; import com.example.demo.sevice.RefundService; import com.github.pagehelper.PageHelper; 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.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import java.math.BigDecimal; import java.util.Arrays; @@ -27,10 +31,16 @@ import java.util.UUID; @CacheConfig(cacheNames = "refund") public class RefundServiceImpl implements RefundService { private final RefundMapper refundMapper; - + @Autowired + private UserMapper userMapper; @CacheEvict(value = {"refund", "audit"}, allEntries = true) @Override - public int add(Detail detail) { + public int add(Detail detail) throws Exception { + + User sUser = userMapper.select(detail.getJwcode()); + if(ObjectUtils.isEmpty(sUser)){ + throw new Exception("无此精网号"); + } // 生成UUID作为订单编号 String uuid = UUID.randomUUID().toString().replaceAll("-", ""); // 去掉UUID中的'-' detail.setOrderCode(uuid); diff --git a/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java index fb08232..c8fa981 100644 --- a/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java @@ -9,6 +9,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.CacheConfig; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; @@ -58,6 +59,8 @@ public class UserServiceImpl implements UserSevice { if (!ObjectUtils.isEmpty(sUser)){ throw new Exception("已存在此用户"); } + BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + user.setPassword(passwordEncoder.encode("123")); return userMapper.add(user); } diff --git a/src/main/java/com/example/demo/sevice/DouService.java b/src/main/java/com/example/demo/sevice/DouService.java index 0dbfdf9..6b42f68 100644 --- a/src/main/java/com/example/demo/sevice/DouService.java +++ b/src/main/java/com/example/demo/sevice/DouService.java @@ -27,5 +27,8 @@ public interface DouService { List SearchStyle(); List SearchPayIp(); Object SearchPay(Integer pageNum, Integer pageSize, Pay pay); + Total getTotal(Total total); + + public List getType(); } diff --git a/src/main/java/com/example/demo/sevice/RefundService.java b/src/main/java/com/example/demo/sevice/RefundService.java index 3b709de..e36dd8e 100644 --- a/src/main/java/com/example/demo/sevice/RefundService.java +++ b/src/main/java/com/example/demo/sevice/RefundService.java @@ -10,7 +10,7 @@ import java.util.List; @Service public interface RefundService { - int add(Detail detail) ; + int add(Detail detail) throws Exception; int addAudit(Detail detail); void edit(Detail newDetail) ; int update(Integer contactId) ; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4bcc885..9fc1c0b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -77,7 +77,10 @@ mybatis: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl upload: - path: /home/java/haiwaiyanfa/gold1 + path: /home/java/haiwaiyanfa/gold1/ + + + server: port: 8080 diff --git a/src/main/resources/mapper/DetailYMapper.xml b/src/main/resources/mapper/DetailYMapper.xml index 63a6a46..172d04c 100644 --- a/src/main/resources/mapper/DetailYMapper.xml +++ b/src/main/resources/mapper/DetailYMapper.xml @@ -179,7 +179,7 @@ types; SELECT - COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin) - FROM detail_y - WHERE YEAR(create_time) = YEAR(CURDATE()) - AND update_type = 0 - - AND area IN - - #{areas} - - ), 0) AS totalgold, - - COALESCE((SELECT SUM(recharge_coin) - FROM detail_y - WHERE YEAR(create_time) = YEAR(CURDATE()) - AND update_type = 0 - - AND area IN - - #{areas} - - ), 0) AS totalcoin, - - COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin) - FROM detail_y - WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) - AND update_type = 0 - - AND area IN - - #{areas} - - ), 0) AS yesterdaytotal, - - COALESCE((SELECT SUM(recharge_coin) - FROM detail_y - WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) - AND update_type = 0 - - AND area IN - - #{areas} - - ), 0) AS yesterdayrecharge, - COALESCE((SELECT SUM(recharge_coin) - FROM detail_y - WHERE YEAR(create_time) = YEAR(CURDATE()) - AND update_type = 0 - - AND area IN - - #{areas} - - ), 0) AS rechargegold, - COALESCE((SELECT SUM(free_coin) - FROM detail_y - WHERE YEAR(create_time) = YEAR(CURDATE()) - AND update_type = 0 - - AND area IN - - #{areas} - - ), 0) AS freegold, - COALESCE((SELECT SUM(task_coin) - FROM detail_y - WHERE YEAR(create_time) = YEAR(CURDATE()) - AND update_type = 0 + COALESCE(SUM(CASE WHEN year_flag = 1 THEN total_coin ELSE 0 END), 0) AS totalgold, + COALESCE(SUM(CASE WHEN year_flag = 1 THEN recharge_coin ELSE 0 END), 0) AS totalcoin, + COALESCE(SUM(CASE WHEN yesterday_flag = 1 THEN total_coin ELSE 0 END), 0) AS yesterdaytotal, + COALESCE(SUM(CASE WHEN yesterday_flag = 1 THEN recharge_coin ELSE 0 END), 0) AS yesterdayrecharge, + COALESCE(SUM(CASE WHEN year_flag = 1 THEN recharge_coin ELSE 0 END), 0) AS rechargegold, + COALESCE(SUM(CASE WHEN year_flag = 1 THEN free_coin ELSE 0 END), 0) AS freegold, + COALESCE(SUM(CASE WHEN year_flag = 1 THEN task_coin ELSE 0 END), 0) AS taskgold + FROM ( + SELECT + recharge_coin, + free_coin, + task_coin, + recharge_coin + free_coin + task_coin AS total_coin, + YEAR(create_time) = YEAR(CURDATE()) AS year_flag, + DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_flag + FROM detail_y + WHERE update_type = 0 AND area IN - #{areas} + #{area} - ), 0) AS taskgold + + ) AS subquery diff --git a/src/main/resources/mapper/RechargeMapper.xml b/src/main/resources/mapper/RechargeMapper.xml index b435090..19ec4af 100644 --- a/src/main/resources/mapper/RechargeMapper.xml +++ b/src/main/resources/mapper/RechargeMapper.xml @@ -72,6 +72,7 @@ activity.activity_name, audit.`status`, audit.audit_id, + audit.audit_time, audit.reson, admin.name, user.area, diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 01cb596..0ef7935 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -63,7 +63,8 @@ au.status, au.reson AS auditReson, au.refund_id, - au.audit_id + au.audit_id, + au.audit_time FROM detail d LEFT JOIN `admin` a ON d.admin_id = a.admin_id LEFT JOIN `user` u ON d.jwcode = u.jwcode diff --git a/src/main/resources/mapper/StatisticsMapper.xml b/src/main/resources/mapper/StatisticsMapper.xml index 1ba9f0c..517562d 100644 --- a/src/main/resources/mapper/StatisticsMapper.xml +++ b/src/main/resources/mapper/StatisticsMapper.xml @@ -114,7 +114,7 @@ SUM(free_coin) / 100 AS freeSumCoin, SUM(task_coin) / 100 AS taskSumCoin FROM detail_y - WHERE AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime} + WHERE create_time BETWEEN #{searchStartTime} AND #{searchEndTime} AND update_type = 1 AND area IN @@ -124,4 +124,18 @@ GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d') + \ No newline at end of file diff --git a/src/main/resources/mapperLink/DouMapper.xml b/src/main/resources/mapperLink/DouMapper.xml index a92bf05..01c0696 100644 --- a/src/main/resources/mapperLink/DouMapper.xml +++ b/src/main/resources/mapperLink/DouMapper.xml @@ -109,27 +109,27 @@ AND fm.ip_address = #{ipAddress} - - AND fy.source_name = #{sourceName} - AND fy.pay_type = #{payType} - AND fy.source_type = #{good} + AND fy.source_type = #{sourceType} AND FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime} ) AS subquery WHERE 1=1 - - AND room LIKE CONCAT('%', #{room}, '%') + + AND room LIKE CONCAT('%', #{sourceName}, '%') ORDER BY ${sortField} ${sortOrder} + + ORDER BY createTime DESC + - SELECT - sum(money)/50 as priceTotal, - sum(money) as countTotal + sum(money)/50 as price, + sum(money) as count from fx_yaoqing_records as fy LEFT JOIN fx_member as fm on fy.uid = fm.id `data`=0 - + and fm.jwcode = #{jwcode} and fy.order_no = #{orderNo} - and type LIKE CONCAT('%', #{type}, '%') + and `content` LIKE CONCAT('%', #{type}, '%') - - and fm.ip_address = #{ipAddress} + + and fm.ip_address = #{deptName} and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime} + \ No newline at end of file diff --git a/src/main/resources/mapperPay/PayMapper.xml b/src/main/resources/mapperPay/PayMapper.xml index 89b8469..ec7ecd5 100644 --- a/src/main/resources/mapperPay/PayMapper.xml +++ b/src/main/resources/mapperPay/PayMapper.xml @@ -4,7 +4,9 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">