Browse Source

Merge branch 'milestone-20250702-金币重构一期' of http://39.101.133.168:8807/huangqizhen/gold-java into lijianlin/feature-20250623120104-工作台与审核

lijianlin/feature-20250623120104-工作台与审核
lijianlin 6 hours ago
parent
commit
102b087619
  1. 12
      src/main/java/com/example/demo/controller/AdminController.java
  2. 8
      src/main/java/com/example/demo/controller/ConsumeController.java
  3. 9
      src/main/java/com/example/demo/controller/ExportController.java
  4. 8
      src/main/java/com/example/demo/controller/RechargeController.java
  5. 9
      src/main/java/com/example/demo/controller/RefundController.java
  6. 2
      src/main/java/com/example/demo/controller/UserController.java
  7. 2
      src/main/java/com/example/demo/domain/vo/GoldDetail.java
  8. 2
      src/main/java/com/example/demo/security/SecurityConfig.java
  9. 15
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  10. 19
      src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java
  11. 6
      src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
  12. 15
      src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
  13. 3
      src/main/resources/mapper/ExportMapper.xml
  14. 3
      src/main/resources/mapper/GoldDetailMapper.xml
  15. 16
      src/main/resources/mapper/RateMapper.xml
  16. 1
      src/main/resources/mapper/RefundMapper.xml

12
src/main/java/com/example/demo/controller/AdminController.java

@ -45,16 +45,10 @@ public class AdminController {
}
}
@PostMapping("/userinfo")
public UserDetails getUserInfo(@RequestBody String requestBody) {
ObjectMapper objectMapper = new ObjectMapper();
TokenPayload token1;
try {
token1 = objectMapper.readValue(requestBody, TokenPayload.class);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
String token = token1.getToken();
public UserDetails getUserInfo(@RequestHeader("token") String token1) {
//String token = token1.getToken();
String token = token1;
System.out.println("1/*/*/*/*//*-*-*-*-*-*-1" +token);
try {
System.out.println("/+/+/+/+/+/+/+//" + JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class));

8
src/main/java/com/example/demo/controller/ConsumeController.java

@ -45,7 +45,7 @@ public class ConsumeController {
return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize(),page.getConsumeUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查筛选数据的格式");
}
@ -65,7 +65,7 @@ public class ConsumeController {
return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsumeUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查筛选数据的格式");
}
}
@ -77,7 +77,7 @@ public class ConsumeController {
Gold gold = consumeService.statsGold(consumeUser);
return Result.success(gold);
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查数据的格式");
}
}
@ -94,7 +94,7 @@ public class ConsumeController {
// }
//
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查数据的格式");
}
}

9
src/main/java/com/example/demo/controller/ExportController.java

@ -42,8 +42,13 @@ public class ExportController {
@Autowired
private ExportService exportService;
@PostMapping("/export")
public Result export(@RequestBody Export Export){
return Result.success(exportExcelService.getExcel(Export));
public Result export(@RequestBody Export Export)throws Exception{
try {
return Result.success(exportExcelService.getExcel(Export));
} catch (Exception e) {
log.error("导出失败", e.getMessage());
return Result.error("导出失败"+e.getMessage());
}
}
@PostMapping("/exportRecharge")
public Result export(@Valid @RequestBody RechargeDTO dto) {

8
src/main/java/com/example/demo/controller/RechargeController.java

@ -42,7 +42,7 @@ public class RechargeController {
return Result.success(rechargeService.selectAll(page.getPageNum(), page.getPageSize(),page.getRechargeUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查筛选数据的格式");
}
@ -62,7 +62,7 @@ public class RechargeController {
return Result.success(rechargeService.selectBy(page.getPageNum(), page.getPageSize(), page.getRechargeUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查筛选数据的格式");
}
}
@ -74,7 +74,7 @@ public class RechargeController {
Gold gold = rechargeService.statsGold(rechargeUser);
return Result.success(gold);
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查数据的格式");
}
}
@ -84,7 +84,7 @@ public class RechargeController {
try {
return rechargeService.add(rechargeUser);
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查数据的格式");
}
}

9
src/main/java/com/example/demo/controller/RefundController.java

@ -43,7 +43,7 @@ public class RefundController {
return Result.success(refundService.selectAll(page.getPageNum(), page.getPageSize(), page.getRefundUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查筛选数据的格式");
}
}
@ -57,10 +57,11 @@ public class RefundController {
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(refundService.selectBy(page.getPageNum(), page.getPageSize(), page.getRefundUser()));
}
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查筛选数据的格式");
}
}
@ -71,7 +72,7 @@ public class RefundController {
Gold gold = refundService.statsGold(refundUser);
return Result.success(gold);
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查数据的格式");
}
}
@ -95,7 +96,7 @@ public class RefundController {
try {
return refundService.add(refundUser);
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查数据的格式");
}
}
}

2
src/main/java/com/example/demo/controller/UserController.java

@ -35,7 +35,7 @@ public class UserController {
user = userService.selectUser(user.getJwcode().toString());
return Result.success(user);
} catch (Exception e) {
return Result.error("接口调用失败");
return Result.error("请检查输入精网号");
}
}
}

2
src/main/java/com/example/demo/domain/vo/GoldDetail.java

@ -38,5 +38,7 @@ public class GoldDetail {
private Date endTime; // 结束时间
private String sortField; //排序字段
private String sortOrder; //排序顺序
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date auditTime;
}

2
src/main/java/com/example/demo/security/SecurityConfig.java

@ -60,7 +60,7 @@ public class SecurityConfig {
request
.requestMatchers( HttpMethod.POST,
// 用户不登录就可以访问的路径
"/admin/login","/upload/**","/detailY/ERP","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**","/**").permitAll()
"/admin/login","/upload/**","/detailY/ERP","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**").permitAll()
.requestMatchers(
"/error","alipay/**","/upload/**","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**"
).permitAll()

15
src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java

@ -96,6 +96,12 @@ public class ConsumeServiceImpl implements ConsumeService {
//新增消耗
@Override
public Result add(ConsumeUser consumeUser) {
if(consumeUser.getTaskGold()==null||consumeUser.getFreeGold()==null||consumeUser.getPermanentGold()==null){
return Result.error("金币数量不能为空");
}
if(consumeUser.getTaskGold()<0||consumeUser.getFreeGold()<0||consumeUser.getPermanentGold()<0){
return Result.error("金币不能为负数");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();
// 获取当前时间戳部分
@ -160,10 +166,11 @@ public class ConsumeServiceImpl implements ConsumeService {
user.setConsumeNum(gold.getConsumeNum() + 1);
user.setSumConsume(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold());
userMapper.updateGold(user);
//对接接口
// GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65,
// (double) (userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getTaskGold()) /100,
// userGoldRecord.getRemark(),((double) userGoldRecord.getPermanentGold() /100), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName());
if(consumeUser.getJwcode().equals(94226013)){
GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65,
(double) (userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getTaskGold()) /100,
userGoldRecord.getRemark(),((double) userGoldRecord.getPermanentGold() /100), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName());
}
return Result.success();
}
}

19
src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java

@ -8,10 +8,8 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @program: GOLD
@ -42,13 +40,22 @@ public class GeneralServiceImpl implements GeneralService {
@Override
public List<String> getGoods() {
List<String> list = generalMapper.getGoods();
return list;
// 使用 Java 8 Stream API 过滤 null 和空字符串
List<String> filteredList = list.stream()
.filter(Objects::nonNull) // 过滤掉 null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串
.collect(Collectors.toList());
return filteredList;
}
@Override
public List<String> getActivity() {
List<String> list = generalMapper.getActivity();
return list;
List<String> filteredList = list.stream()
.filter(Objects::nonNull) // 过滤掉 null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串
.collect(Collectors.toList());
return filteredList;
}

6
src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java

@ -83,6 +83,12 @@ public class RechargeServiceImpl implements RechargeService {
@Override
public Result add(RechargeUser rechargeUser) {
if(rechargeUser.getFreeGold()==null||rechargeUser.getPermanentGold()==null||rechargeUser.getMoney()==null){
return Result.error("金币和金额不能为空");
}
if(rechargeUser.getFreeGold()<0||rechargeUser.getPermanentGold()<=0||rechargeUser.getMoney()<=0){
return Result.error("充值不能为负数或0");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();
// 获取当前时间戳部分

15
src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java

@ -21,7 +21,9 @@ import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
* @program: gold-java
@ -91,6 +93,12 @@ public class RefundServiceImpl implements RefundService {
@Transactional
@Override
public Result add(RefundUser refundUser) {
if(refundUser.getTaskGold()==null||refundUser.getFreeGold()==null||refundUser.getPermanentGold()==null){
return Result.error("金币不能为空");
}
if(refundUser.getTaskGold()<0||refundUser.getFreeGold()<0||refundUser.getPermanentGold()<0){
return Result.error("金币不能为负数");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();
String goodsNameWithOrder = refundUser.getGoodsName();
String orderCode = "";
@ -141,7 +149,11 @@ public class RefundServiceImpl implements RefundService {
@Override
public List<String> getRefundType() {
List<String> list = refundMapper.getRefundType();
return list;
List<String> filteredList = list.stream()
.filter(Objects::nonNull) // 过滤掉 null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串和仅包含空白字符的字符串
.collect(Collectors.toList());
return filteredList;
}
@Override
@ -160,6 +172,7 @@ public class RefundServiceImpl implements RefundService {
String combined = orderCode + "_" + goodsName;
RefundUser refundUser = new RefundUser();
refundUser.setGoodsName(combined);
refundUser.setSumGold(record.getPermanentGold()+record.getFreeGold()+record.getTaskGold());
refundUser.setPermanentGold(record.getPermanentGold());
refundUser.setFreeGold(record.getFreeGold());
refundUser.setTaskGold(record.getTaskGold());

3
src/main/resources/mapper/ExportMapper.xml

@ -22,7 +22,6 @@
and account = #{account}
</if>
</where>
order by create_time desc
</select>
</mapper>

3
src/main/resources/mapper/GoldDetailMapper.xml

@ -7,7 +7,8 @@
</insert>
<select id="getGoldDetail" resultType="com.example.demo.domain.vo.GoldDetail">
select `user`.name, `user`.jwcode, `user`.market, `ugr`.pay_platform, `ugr`.type, `ugr`.sum_gold, `ugr`.permanent_gold, `ugr`.free_june, `ugr`.free_december, `ugr`.task_gold, `admin`.admin_name, `ugr`.audit_time
select `user`.name, `user`.jwcode, `user`.market, `ugr`.pay_platform, `ugr`.type, `ugr`.sum_gold, `ugr`.permanent_gold, `ugr`.free_june, `ugr`.free_december, `ugr`.task_gold, `admin`.admin_name, `ugr`.audit_time,
`ugr`.free_june+`ugr`.free_december as free_gold
from user_gold_record ugr
left join `user` on `user`.jwcode = `ugr`.jwcode
left join `admin` on `admin`.id = `ugr`.admin_id

16
src/main/resources/mapper/RateMapper.xml

@ -15,11 +15,17 @@
<update id="update">
UPDATE
rate
SET
rate_name=#{rateName},
num=#{num},
admin_id=#{adminId},
update_time=#{updateTime}
<set>
<if test="num!=null">
num= #{num},
</if>
<if test="rateName!=null and rateName.length>0">
rate_name= #{rateName},
</if>
<if test="adminId!=null">
admin_id= #{adminId},
</if>
</set>
WHERE
id=#{id}
</update>

1
src/main/resources/mapper/RefundMapper.xml

@ -108,6 +108,7 @@
<when test="sortField == 'taskGold'">ugr.task_gold</when>
<when test="sortField == 'permanentGold'">ugr.permanent_gold</when>
<when test="sortField == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when>
<when test="sortField == 'sumGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)+ COALESCE(ugr.permanent_gold, 0)+ COALESCE(ugr.task_gold, 0))</when>
<!-- 对时间字段的排序处理 -->
<when test="sortField == 'createTime'">ugr.create_time</when>
<!-- 其他字段不支持排序,使用默认排序 -->

Loading…
Cancel
Save