jianlin 1 month ago
parent
commit
0e1cbaaf8b
  1. 1
      src/main/java/com/example/demo/DemoApplication.java
  2. 4
      src/main/java/com/example/demo/controller/AdminController.java
  3. 6
      src/main/java/com/example/demo/controller/DetailYController.java
  4. 9
      src/main/java/com/example/demo/controller/DouController.java
  5. 3
      src/main/java/com/example/demo/controller/RechargeController.java
  6. 7
      src/main/java/com/example/demo/controller/RefundController.java
  7. 1
      src/main/java/com/example/demo/controller/UploadController.java
  8. 29
      src/main/java/com/example/demo/domain/dou/Total.java
  9. 3
      src/main/java/com/example/demo/domain/entity/Audit.java
  10. 3
      src/main/java/com/example/demo/domain/entity/Detail.java
  11. 3
      src/main/java/com/example/demo/domain/entity/DetailY.java
  12. 4
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  13. 4
      src/main/java/com/example/demo/mapper/AdminMapper.java
  14. 1
      src/main/java/com/example/demo/mapper/AuditMapper.java
  15. 3
      src/main/java/com/example/demo/mapperLink/DouMapper.java
  16. 1
      src/main/java/com/example/demo/mapperPay/PayMapper.java
  17. 10
      src/main/java/com/example/demo/security/SecurityConfig.java
  18. 7
      src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
  19. 24
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  20. 47
      src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
  21. 10
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  22. 4
      src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java
  23. 10
      src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java
  24. 2
      src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java
  25. 19
      src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
  26. 14
      src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
  27. 3
      src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java
  28. 3
      src/main/java/com/example/demo/sevice/DouService.java
  29. 2
      src/main/java/com/example/demo/sevice/RefundService.java
  30. 5
      src/main/resources/application.yml
  31. 2
      src/main/resources/mapper/DetailYMapper.xml
  32. 87
      src/main/resources/mapper/OneMapper.xml
  33. 1
      src/main/resources/mapper/RechargeMapper.xml
  34. 3
      src/main/resources/mapper/RefundMapper.xml
  35. 16
      src/main/resources/mapper/StatisticsMapper.xml
  36. 38
      src/main/resources/mapperLink/DouMapper.xml
  37. 8
      src/main/resources/mapperPay/PayMapper.xml
  38. 3
      src/test/java/test.java

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

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

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

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

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

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

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

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

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

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

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

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

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

1
src/main/java/com/example/demo/mapper/AuditMapper.java

@ -29,6 +29,7 @@ public interface AuditMapper {
"<if test='rechargeId!=null'>recharge_id=#{rechargeId},</if>",
"<if test='status!=null'>status=#{status},</if>",
"<if test='reson!=null and reson.length>0'>`reson`=#{reson}</if>",
"<if test='auditTime!=null'>`audit_time`=#{auditTime}</if>",
"</set>",
"where audit_id=#{auditId}",
"</script>"

3
src/main/java/com/example/demo/mapperLink/DouMapper.java

@ -19,6 +19,7 @@ public interface DouMapper {
Integer getSpendTotal(SpendTotal spendTotal);
List<Pay> getPay(Pay pay);
List<String> getPayIp();
RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal);
Total getTotal(Total total);
List<String> getType();
}

1
src/main/java/com/example/demo/mapperPay/PayMapper.java

@ -13,4 +13,5 @@ public interface PayMapper {
List<String> getStyle();
RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal);
}

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

7
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<Activity> searchForPage(Integer pageNum, Integer pageSize, Activity activity) {
// PageHelper.startPage(pageNum, pageSize);
// List<Activity> list = activityMapper.select(activity);

24
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,11 +88,12 @@ public class AdminServiceImpl implements AdminService {
}
@Override
public Admin login(Admin admin) throws Exception {
Admin admin1=adminMapper.selectByJwcode(admin.getJwcode());
try {
Admin admin1 = adminMapper.selectByJwcode(admin.getJwcode());
String[] machineIds = admin1.getMachineId().split(",");
boolean flag = false;
for(String machineId:machineIds) {
for (String machineId : machineIds) {
if (admin.getMachineId() != null && admin.getMachineId().equals(machineId))
flag = true;
}
@ -98,15 +104,21 @@ public class AdminServiceImpl implements AdminService {
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("用户或密码错误");
}catch (NullPointerException e){
throw new RuntimeException("无此精网号");
}catch(BadCredentialsException exception){
throw new BadCredentialsException("密码错误");
}catch (Exception e){
throw new RuntimeException("你没有使用该机器的权限!");
}
}
@Override

47
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

10
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);

4
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<DetailY> getDetailByPage(int pageNum, int pageSize, DetailY detailY) {

10
src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java

@ -185,4 +185,14 @@ public class DouServiceImpl implements DouService {
List<Pay> list= payMapper.getPay(pay);
return new PageInfo<>(list);
}
@Override
public Total getTotal(Total total) {
return douMapper.getTotal(total);
}
@Override
public List<String> getType() {
return douMapper.getType();
}
}

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

19
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<RechargeVo> search(RechargeVo rechargeVo) {
return rechargeMapper.select(rechargeVo);
}
//孙加倍cache修改3
@Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #rechargeVo.hashCode() ")
@Override
public PageInfo<RechargeVo> searchForPage(Integer pageNum, Integer pageSize, RechargeVo rechargeVo) {
System.out.println(rechargeVo.getSortOrder());
System.out.println(rechargeVo.getSortField());
PageHelper.startPage(pageNum, pageSize);
List<RechargeVo> list= rechargeMapper.select(rechargeVo);
return new PageInfo<>(list);

14
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);

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

3
src/main/java/com/example/demo/sevice/DouService.java

@ -27,5 +27,8 @@ public interface DouService {
List<String> SearchStyle();
List<String> SearchPayIp();
Object SearchPay(Integer pageNum, Integer pageSize, Pay pay);
Total getTotal(Total total);
public List<String> getType();
}

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

5
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

2
src/main/resources/mapper/DetailYMapper.xml

@ -179,7 +179,7 @@
types;
</select>
<select id="getarea" resultType="java.lang.String">
SELECT DISTINCT area FROM detail_y
SELECT DISTINCT area FROM detail_y WHERE area IS NOT NULL
</select>
<select id="selectgold" resultType="com.example.demo.domain.vo.DetailYgold">
SELECT

87
src/main/resources/mapper/OneMapper.xml

@ -87,79 +87,30 @@
<!-- 第二个查询:getTwo -->
<select id="getTwo" resultType="com.example.demo.domain.work.Two">
SELECT
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS totalgold,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 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
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 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
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdayrecharge,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS rechargegold,
COALESCE((SELECT SUM(free_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS freegold,
COALESCE((SELECT SUM(task_coin)
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 YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
WHERE update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
#{area}
</foreach>
</if>), 0) AS taskgold
</if>
) AS subquery
</select>
<!-- 第三个查询:getThree -->

1
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,

3
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

16
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
<if test="areas != null and areas.size > 0">
AND area IN
@ -124,4 +124,18 @@
</if>
GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')
</select>
<select id="getMediuPayCoinday" resultType="com.example.demo.domain.vo.SumCoin">
SELECT
DATE_FORMAT(create_time, '%Y-%m-%d') AS day,
IFNULL(SUM(recharge_coin) / 100, 0) AS rechargeSumCoin,
IFNULL(SUM(free_coin) / 100, 0) AS freeSumCoin,
IFNULL(SUM(task_coin) / 100, 0) AS taskSumCoin
FROM
detail_y
WHERE
DATE(create_time) = #{searchEndTime}
AND update_type = #{updateType}
GROUP BY
DATE_FORMAT(create_time, '%Y-%m-%d')
</select>
</mapper>

38
src/main/resources/mapperLink/DouMapper.xml

@ -109,27 +109,27 @@
<if test="ipAddress != null and ipAddress.length > 0">
AND fm.ip_address = #{ipAddress}
</if>
<if test="sourceName != null and sourceName.length > 0">
AND fy.source_name = #{sourceName}
</if>
<if test="payType != null">
AND fy.pay_type = #{payType}
</if>
<if test="sourceType != null">
AND fy.source_type = #{good}
AND fy.source_type = #{sourceType}
</if>
<if test="startTime != null and endTime != null">
AND FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
</if>
) AS subquery
WHERE 1=1
<if test="room != null and room.length > 0">
AND room LIKE CONCAT('%', #{room}, '%')
<if test="sourceName != null and sourceName.length > 0">
AND room LIKE CONCAT('%', #{sourceName}, '%')
</if>
<choose>
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY createTime DESC
</otherwise>
</choose>
</select>
<select id="getSpendTotal" resultType="java.lang.Integer">
@ -180,10 +180,10 @@
and fy.order_no = #{orderNo}
</if>
<if test="type != null and type.length > 0">
and type LIKE CONCAT('%', #{type}, '%')
and content LIKE CONCAT('%', #{type}, '%')
</if>
<if test="ipAddress != null and ipAddress.length > 0">
and fm.ip_address = #{ipAddress}
<if test="deptName != null and deptName.length > 0">
and fm.ip_address = #{deptName}
</if>
<if test="startTime != null and endTime != null">
and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
@ -193,35 +193,41 @@
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY fy.`time` DESC
</otherwise>
</choose>
</select>
<select id="getPayIp" resultType="java.lang.String">
select DISTINCT ip_address from fx_member WHERE ip_address is not null
</select>
<select id="getRechargeTotal" resultType="com.example.demo.domain.dou.RechargeTotal">
<select id="getTotal" resultType="com.example.demo.domain.dou.Total">
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
<where>
`data`=0
<if test="jwcode != null">
<if test="jwcode != null and jwcode.length > 0">
and fm.jwcode = #{jwcode}
</if>
<if test="orderNo != null and orderNo.length > 0">
and fy.order_no = #{orderNo}
</if>
<if test="type != null and type.length > 0">
and type LIKE CONCAT('%', #{type}, '%')
and `content` LIKE CONCAT('%', #{type}, '%')
</if>
<if test="ipAddress != null and ipAddress.length > 0">
and fm.ip_address = #{ipAddress}
<if test="deptName != null and deptName.length > 0">
and fm.ip_address = #{deptName}
</if>
<if test="startTime != null and endTime != null">
and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
</if>
</where>
</select>
<select id="getType" resultType="java.lang.String">
SELECT DISTINCT content FROM fx_yaoqing_records
</select>
</mapper>

8
src/main/resources/mapperPay/PayMapper.xml

@ -4,7 +4,9 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapperPay.PayMapper">
<select id="getPay" resultType="com.example.demo.domain.dou.Pay">
SELECT gps.`name` as payStyle,go.jwcode,mi.name,mi.deptName,mi.shopName,go.type,go.order_no,go.price,go.count,gps.`name`,go.success_time from g_order as go
SELECT gps.`name` as payStyle,go.jwcode,mi.name,mi.deptName,mi.shopName,
go.type,go.order_no,go.price,go.count,gps.`name`,go.success_time
from g_order as go
LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
LEFT JOIN g_pay_style gps on go.pay_style=gps.id
<where>
@ -31,6 +33,9 @@ LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY go.success_time DESC
</otherwise>
</choose>
</select>
<select id="getPayIp" resultType="java.lang.String">
@ -45,6 +50,7 @@ LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
sum(count) as countTotal
FROM g_order as go
LEFT JOIN g_pay_style gps on go.pay_style=gps.id
LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
<where>
<if test="jwcode != null">
and go.jwcode = #{jwcode}

3
src/test/java/test.java

@ -0,0 +1,3 @@
public class test {
}
Loading…
Cancel
Save