Compare commits

...

34 Commits
dev ... sjb

Author SHA1 Message Date
Your Name 96b62db920 5月17日bug修改 4 hours ago
Your Name d491f597d4 5月16日字段修改 21 hours ago
Your Name 19f0897a23 5月16日字段修改 21 hours ago
Your Name 887a6ead2d 5月16日字段修改 23 hours ago
Your Name bee922a633 5月16日字段修改 23 hours ago
Your Name afa3ddf2ff 5月16日字段修改 23 hours ago
Your Name d38b0517a1 5月16日字段修改 1 day ago
Your Name 218677d5b7 5月16日字段修改 1 day ago
Your Name fb41a0f878 5月16日宝塔路径修改 1 day ago
Your Name 185038f925 5月14日排序修改,消费网号校验 3 days ago
Your Name 9eea1134f1 5月14日排序修改,消费网号校验 3 days ago
Your Name e798942b94 测试 3 days ago
lihuilin 004ed60472 拉取黄其振代码无报错 4 days ago
lihuilin 47b07b88bb 测试 4 days ago
huangqizhen cb45a66c99 0513lhl改登录报错信息和图片路径 4 days ago
huangqizhen 8a2aea0989 4.29 时间排序 3 weeks ago
huangqizhen 919f81cabb Merge branch 'refs/heads/ljl' into hqz 3 weeks ago
huangqizhen 35f6b254ec 4.26 修复工作台 3 weeks ago
jianlin f3a9264e74 4.27bug修改 明细金币统计,消费明细商品名查询 3 weeks ago
huangqizhen 6226e2cfd3 Merge branch 'refs/heads/Huang' into hqz 3 weeks ago
huangqizhen 8f62f0305c 4.26 修复金豆充值明细地区查询页面 3 weeks ago
jianlin 1f32297c7a 4.26修复bug:商品名称对应错误 3 weeks ago
jianlin 249c9d8805 4.26修改活动页面查询 3 weeks ago
huangqizhen 9307b8672a 4.26 新增用户默认加入123密码 3 weeks ago
huangqizhen 31b27a2fa5 Merge remote-tracking branch 'origin/hqz' into hqz 3 weeks ago
jianlin 3ce0e27871 金币bug修改 3 weeks ago
jianlin be7d1d3392 Merge branch 'hqz' of http://39.101.133.168:8807/yanjiaqing/gold_java into ljl 4 weeks ago
jianlin ffcefb3547 删除测试readme 4 weeks ago
jianlin f306abce4d Merge branch 'hqz' of http://39.101.133.168:8807/yanjiaqing/gold_java into ljl 4 weeks ago
jianlin 49925178c2 恢复测试文件readme 4 weeks ago
jianlin 00f5f921ca 删除测试文件readme 4 weeks ago
jianlin f06b8f2ca2 新增测试2 4 weeks ago
jianlin 75c958d7f9 新增测试1 4 weeks ago
huangqizhen e4935be7da 后端整合模块 4 months ago
  1. 1
      src/main/java/com/example/demo/DemoApplication.java
  2. 1
      src/main/java/com/example/demo/controller/ActivityController.java
  3. 4
      src/main/java/com/example/demo/controller/AdminController.java
  4. 6
      src/main/java/com/example/demo/controller/DetailYController.java
  5. 5
      src/main/java/com/example/demo/controller/DouController.java
  6. 5
      src/main/java/com/example/demo/controller/ProductController.java
  7. 3
      src/main/java/com/example/demo/controller/RechargeController.java
  8. 9
      src/main/java/com/example/demo/controller/RefundController.java
  9. 1
      src/main/java/com/example/demo/controller/UploadController.java
  10. 1
      src/main/java/com/example/demo/domain/dou/Total.java
  11. 3
      src/main/java/com/example/demo/domain/entity/Audit.java
  12. 3
      src/main/java/com/example/demo/domain/entity/Detail.java
  13. 3
      src/main/java/com/example/demo/domain/entity/DetailY.java
  14. 4
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  15. 2
      src/main/java/com/example/demo/mapper/ActivityMapper.java
  16. 4
      src/main/java/com/example/demo/mapper/AdminMapper.java
  17. 1
      src/main/java/com/example/demo/mapper/AuditMapper.java
  18. 2
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  19. 3
      src/main/java/com/example/demo/mapper/ProductMapper.java
  20. 1
      src/main/java/com/example/demo/mapperLink/DouMapper.java
  21. 1
      src/main/java/com/example/demo/mapperPay/PayMapper.java
  22. 10
      src/main/java/com/example/demo/security/SecurityConfig.java
  23. 11
      src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
  24. 56
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  25. 45
      src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
  26. 10
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  27. 4
      src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java
  28. 5
      src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java
  29. 2
      src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java
  30. 5
      src/main/java/com/example/demo/serviceImpl/ProductServiceImpl.java
  31. 19
      src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
  32. 14
      src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
  33. 3
      src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java
  34. 1
      src/main/java/com/example/demo/sevice/DouService.java
  35. 3
      src/main/java/com/example/demo/sevice/ProductService.java
  36. 2
      src/main/java/com/example/demo/sevice/RefundService.java
  37. 5
      src/main/resources/application.yml
  38. 11
      src/main/resources/mapper/ConsumeMapper.xml
  39. 2
      src/main/resources/mapper/DetailYMapper.xml
  40. 89
      src/main/resources/mapper/OneMapper.xml
  41. 5
      src/main/resources/mapper/ProductMapper.xml
  42. 1
      src/main/resources/mapper/RechargeMapper.xml
  43. 3
      src/main/resources/mapper/RefundMapper.xml
  44. 16
      src/main/resources/mapper/StatisticsMapper.xml
  45. 15
      src/main/resources/mapperLink/DouMapper.xml
  46. 7
      src/main/resources/mapperPay/PayMapper.xml
  47. 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) {

1
src/main/java/com/example/demo/controller/ActivityController.java

@ -55,6 +55,7 @@ public class ActivityController {
Integer pageSize=page.getPageSize();
Activity activity= page.getActivity();
if (ObjectUtils.isEmpty(pageNum)){
return Result.success(activityService.search(activity));
}
return Result.success(activityService.searchForPage(pageNum,pageSize,activity));

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

5
src/main/java/com/example/demo/controller/DouController.java

@ -114,4 +114,9 @@ public class DouController {
public Result getTotal(@RequestBody Total total){
return Result.success(douService.getTotal(total));
}
// 获取充值类型填充下拉框现在还没有下拉框好有下拉框了但是它好长
@RequestMapping("/getType")
public Result getType(){
return Result.success(douService.getType());
}
}

5
src/main/java/com/example/demo/controller/ProductController.java

@ -20,6 +20,11 @@ public class ProductController {
public Result Product(@RequestBody Product product){
return Result.success(productService.findAll(product));
}
// 所有消费明细---获取商品名
@PostMapping("/findProductName")
public Result getProductName(){
return Result.success(productService.findAllProductName());
}
@PostMapping("/add")
public Result add(@RequestBody Product product){
return Result.success(productService.add(product));

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;

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

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

1
src/main/java/com/example/demo/domain/dou/Total.java

@ -17,6 +17,7 @@ public class Total {
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;

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;

2
src/main/java/com/example/demo/mapper/ActivityMapper.java

@ -49,7 +49,7 @@ public interface ActivityMapper {
//模糊查询--根据活动id查询活动信息
@Select({
"<script>",
"SELECT activity.*, admin.name FROM activity",
"SELECT activity.*, admin.name FROM activity",
"INNER JOIN admin ON activity.admin_id = admin.admin_id",
"<where>",
"activity.activity_flag = 1",

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>"

2
src/main/java/com/example/demo/mapper/ConsumeMapper.java

@ -35,7 +35,7 @@ public interface ConsumeMapper {
"(jwcode,order_code,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,refund_flag,create_time,first_recharge,`name`,username,area,product_name)",
"values ",
"(#{jwcode},#{orderCode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType}" +
"(#{jwcode},#{orderCode},#{activityId},#{rechargeWay},#{productId},'4','购买商品',#{refundType}" +
",#{refundGoods},#{contactId},#{remark},#{rechargeCoin}" +
",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,1,now(),#{firstRecharge},#{name},#{username},#{area},#{productName})"
})

3
src/main/java/com/example/demo/mapper/ProductMapper.java

@ -19,4 +19,7 @@ public interface ProductMapper {
"select * from product"
})
public List<Product> findAll(Product product);
// 查询消费表的所有商品名称
List<String> findAllProductName();
}

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

@ -20,4 +20,5 @@ public interface DouMapper {
List<String> getPayIp();
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();
}

11
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);
@ -62,9 +65,9 @@ public class ActivityServiceImpl implements ActivityService {
Date endTime = activity1.getEndTime();
// 使用 Date 类的 before after 方法进行比较
if (nowDate.before(startTime)) {
if (startTime != null &&nowDate.before(startTime)) {
activity1.setStatus(0); // 设置状态为 0
} else if (nowDate.after(endTime)) {
} else if (endTime != null &&nowDate.after(endTime)) {
activity1.setStatus(2); // 设置状态为 2
} else {
activity1.setStatus(1); // 设置状态为 1

56
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

45
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);
@ -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) {

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

@ -190,4 +190,9 @@ public class DouServiceImpl implements DouService {
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");

5
src/main/java/com/example/demo/serviceImpl/ProductServiceImpl.java

@ -32,4 +32,9 @@ public class ProductServiceImpl implements ProductService {
public List<Index> findIndex(Index index) {
return productMapper.findIndex(index);
}
@Override
public List<String> findAllProductName() {
return productMapper.findAllProductName();
}
}

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

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

@ -30,4 +30,5 @@ public interface DouService {
Total getTotal(Total total);
public List<String> getType();
}

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

@ -10,4 +10,7 @@ public interface ProductService {
int add(Product product);
List<Product> findAll(Product product);
List<Index> findIndex(Index index);
//查询 消费表的商品名
List<String> findAllProductName();
}

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

11
src/main/resources/mapper/ConsumeMapper.xml

@ -10,11 +10,10 @@
sum(recharge_coin) as SumRcion,
sum(recharge_coin+free_coin+task_coin) as Sumcion
from detail_y
left join product on detail_y.product_id= product.product_id
<where>
update_type = '1'
<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode =#{jwcode}</if>
<if test='productName!=null and productName.length>0'>and product.name = #{productName}</if>
<if test='productName!=null and productName.length>0'>and detail_y.product_name = #{productName}</if>
<if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if>
<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>
<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>
@ -30,19 +29,19 @@
<select id="select" resultType="com.example.demo.domain.vo.ConsumeDetail">
SELECT
detail_y.*,
admin.name AS adminName,
product.name AS productName
admin.name AS adminName
FROM detail_y
LEFT JOIN `admin` ON detail_y.admin_id = admin.admin_id
LEFT JOIN `user` ON detail_y.jwcode = user.jwcode
LEFT JOIN product ON detail_y.product_id = product.product_id
<where>
update_type = 1
<if test='jwcode != null'>
AND detail_y.jwcode = #{jwcode}
</if>
<if test='productName != null and productName.length > 0'>
AND product.name = #{productName}
AND detail_y.product_name = #{productName}
</if>
<if test='consumePlatform != null and consumePlatform.length > 0'>
AND detail_y.consume_platform = #{consumePlatform}

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

89
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)
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
<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 -->

5
src/main/resources/mapper/ProductMapper.xml

@ -10,4 +10,9 @@
<select id="findIndex" resultType="com.example.demo.domain.entity.Index">
SELECT * FROM `index` WHERE type = #{type}
</select>
<!--查询消费表的商品名-->
<select id="findAllProductName" resultType="java.lang.String">
select DISTINCT product_name from detail_y where product_name is not null and update_type = 1
</select>
</mapper>

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>

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

@ -124,6 +124,9 @@
<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">
@ -187,6 +190,9 @@
<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">
@ -207,15 +213,18 @@
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>

7
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">

3
src/test/java/test.java

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