Browse Source

地区权限筛选优化(充值、消费、退款、明细、审核)

huangqizheng/feature-20250805200446-配置修改及充值导出修改
lijianlin 2 weeks ago
parent
commit
6deaf25c4a
  1. 28
      src/main/java/com/example/demo/controller/coin/GoldDetailController.java
  2. 14
      src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java
  3. 9
      src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java
  4. 9
      src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java
  5. 10
      src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java
  6. 21
      src/main/resources/mapper/AuditMapper.xml
  7. 7
      src/main/resources/mapper/ConsumeMapper.xml
  8. 6
      src/main/resources/mapper/RechargeMapper.xml
  9. 6
      src/main/resources/mapper/RefundMapper.xml

28
src/main/java/com/example/demo/controller/coin/GoldDetailController.java

@ -11,6 +11,7 @@ import com.example.demo.domain.vo.coin.GoldDetail;
import com.example.demo.domain.vo.coin.Page;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.service.coin.GoldDetailService;
import com.example.demo.service.coin.MarketService;
import com.example.demo.serviceImpl.coin.AiEmotionServiceImpl;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
@ -42,13 +43,16 @@ import java.util.UUID;
@Slf4j
@CrossOrigin
public class GoldDetailController {
private final GoldDetailService goldDetailService;
@Autowired
private GoldDetailService goldDetailService;
@Autowired
private RedisLockUtil redisLockUtil;
@Autowired
private AiEmotionServiceImpl aiEmotionServiceImpl;
@Autowired
MarketService marketService;
@PostMapping("/getGoldDetail")
public Result getGoldDetail(@RequestBody Page page) throws Exception {
@ -65,8 +69,9 @@ public class GoldDetailController {
String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));;
if(!markets.contains("1")) {
page.getGoldDetail().setMarkets(markets);
if(!markets.contains("总部")&&!markets.contains("研发部")) {
page.getGoldDetail().setMarkets(marketService.getMarketIds(markets));
}
}
return Result.success(goldDetailService.getGoldDetail(page.getPageNum(), page.getPageSize(), page.getGoldDetail()));
@ -82,9 +87,10 @@ public class GoldDetailController {
String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
if(!markets.contains("1")) {
page.getGoldDetail().setMarkets(markets);
}
if(!markets.contains("总部")&&!markets.contains("研发部")) {
page.getGoldDetail().setMarkets(marketService.getMarketIds(markets));
}
}
return Result.success(goldDetailService.sumGold(pageNum,pageSize,goldDetail));
}
@ -96,8 +102,9 @@ public class GoldDetailController {
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
if(!markets.contains("1")) {
user.setMarkets(markets);
if(!markets.contains("总部")&&!markets.contains("研发部")) {
user.setMarkets(marketService.getMarketIds(markets));
}
}
return Result.success(goldDetailService.GoldTotal(user));
@ -117,8 +124,9 @@ public class GoldDetailController {
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
if(!markets.contains("1")) {
page.getUser().setMarkets(markets);
if(!markets.contains("总部")&&!markets.contains("研发部")) {
page.getUser().setMarkets(marketService.getMarketIds(markets));
}
}
return Result.success(goldDetailService.getGold(page.getPageNum(), page.getPageSize(), page.getUser()));

14
src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

@ -8,6 +8,7 @@ import com.example.demo.domain.vo.coin.GoldUser;
import com.example.demo.domain.vo.coin.RechargeAudit;
import com.example.demo.domain.vo.coin.RefundAudit;
import com.example.demo.mapper.coin.AuditMapper;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.service.coin.AdminService;
import com.example.demo.service.coin.AuditService;
@ -40,6 +41,8 @@ public class AuditServiceImpl implements AuditService {
private AdminService adminService;
@Autowired
private GeneralService generalService;
@Autowired
private MarketMapper marketMapper;
/*
审核订单并修改用户余额等
*/
@ -138,6 +141,8 @@ public class AuditServiceImpl implements AuditService {
@Override
public PageInfo<RechargeAudit> selectRechargeBy(Integer pageNum, Integer pageSize, RechargeAudit rechargeAudit) {
List<String> markets = marketMapper.getMarketIds(rechargeAudit.getMarkets());
rechargeAudit.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<RechargeAudit> rechargeAudits = auditMapper.selectRechargeBy(pageNum, pageSize, rechargeAudit);
// rechargeAudit.setFreeGold(rechargeAudit.getFreeJune()+rechargeAudit.getFreeDecember());
@ -150,7 +155,8 @@ public class AuditServiceImpl implements AuditService {
public PageInfo<RefundAudit> selectRefundBy(Integer pageNum, Integer pageSize, RefundAudit refundAudit) {
List<String> markets = marketMapper.getMarketIds(refundAudit.getMarkets());
refundAudit.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<RefundAudit> refundAudits = auditMapper.selectRefundBy(pageNum, pageSize, refundAudit);
@ -165,6 +171,9 @@ public class AuditServiceImpl implements AuditService {
Gold gold = new Gold();
//获取充值审核订单列表
List<String> markets = marketMapper.getMarketIds(rechargeAudit.getMarkets());
rechargeAudit.setMarkets(markets);
List<RechargeAudit> rechargeAudits = auditMapper.selectRechargeBy(1, 500000, rechargeAudit);
// 初始化累加器
int totalNum=0;
@ -198,6 +207,9 @@ public class AuditServiceImpl implements AuditService {
public Gold sumRefundGold(Integer pageNum, Integer pageSize, RefundAudit refundAudit) {
Gold gold = new Gold();
//获取充值审核订单列表
List<String> markets = marketMapper.getMarketIds(refundAudit.getMarkets());
refundAudit.setMarkets(markets);
List<RefundAudit> refundAudits = auditMapper.selectRefundBy(1, 500000, refundAudit);
// 初始化累加器
int totalNum=0;

9
src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java

@ -8,6 +8,7 @@ import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.GoldUser;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.mapper.coin.ConsumeMapper;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.service.coin.ConsumeService;
import com.example.demo.service.coin.MarketService;
@ -43,13 +44,13 @@ public class ConsumeServiceImpl implements ConsumeService {
private UserMapper userMapper;
@Autowired
private MarketService marketService;
private MarketMapper marketMapper;
//消耗明细
@Override
public PageInfo<ConsumeUser> selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser){
//获取市场id
List<String> markets = marketService.getMarketIds(consumeUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(consumeUser.getMarkets());
consumeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<ConsumeUser> consumeUsers = consumeMapper.selectAll(consumeUser);
@ -60,7 +61,7 @@ public class ConsumeServiceImpl implements ConsumeService {
@Override
public Gold statsGold(ConsumeUser consumeUser) {
//获取市场id
List<String> markets = marketService.getMarketIds(consumeUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(consumeUser.getMarkets());
consumeUser.setMarkets(markets);
Gold gold = new Gold();
List<ConsumeUser> consumeUsers = consumeMapper.selectBy(consumeUser);
@ -98,7 +99,7 @@ public class ConsumeServiceImpl implements ConsumeService {
@Override
public PageInfo<ConsumeUser> selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) {
//获取市场id
List<String> markets = marketService.getMarketIds(consumeUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(consumeUser.getMarkets());
consumeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<ConsumeUser> consumeUsers = consumeMapper.selectBy(consumeUser);

9
src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java

@ -1,6 +1,7 @@
package com.example.demo.serviceImpl.coin;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.RechargeMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.service.coin.MarketService;
@ -36,7 +37,7 @@ public class RechargeServiceImpl implements RechargeService {
private UserMapper userMapper;
@Autowired
private MarketService marketService;
private MarketMapper marketMapper;
@ -44,7 +45,7 @@ public class RechargeServiceImpl implements RechargeService {
@Override
public PageInfo<RechargeUser> selectAll(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) throws Exception{
//获取市场id
List<String> markets = marketService.getMarketIds(rechargeUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(rechargeUser.getMarkets());
rechargeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<RechargeUser> rechargeUsers = rechargeMapper.selectAll(rechargeUser);
@ -54,7 +55,7 @@ public class RechargeServiceImpl implements RechargeService {
//查询筛选充值
@Override
public PageInfo<RechargeUser> selectBy(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) throws Exception{
List<String> markets = marketService.getMarketIds(rechargeUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(rechargeUser.getMarkets());
rechargeUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<RechargeUser> rechargeUsers = rechargeMapper.selectBy(rechargeUser);
@ -64,7 +65,7 @@ public class RechargeServiceImpl implements RechargeService {
//统计金币记录
@Override
public Gold statsGold(RechargeUser rechargeUser) {
List<String> markets = marketService.getMarketIds(rechargeUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(rechargeUser.getMarkets());
rechargeUser.setMarkets(markets);
Gold gold = new Gold();
List<RechargeUser> rechargeUsers = rechargeMapper.selectBy(rechargeUser);

10
src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

@ -2,6 +2,7 @@ package com.example.demo.serviceImpl.coin;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.mapper.coin.ConsumeMapper;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.RefundMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.service.coin.MarketService;
@ -40,13 +41,14 @@ public class RefundServiceImpl implements RefundService {
@Autowired
private UserMapper userMapper;
@Autowired
private MarketService marketService;
private MarketMapper marketMapper;
//查找全部退款
@Override
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception{
List<String> markets = marketService.getMarketIds(refundUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(refundUser.getMarkets());
refundUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectAll(refundUser);
@ -56,7 +58,7 @@ public class RefundServiceImpl implements RefundService {
//统计退款金额
@Override
public Gold statsGold(RefundUser refundUser) {
List<String> markets = marketService.getMarketIds(refundUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(refundUser.getMarkets());
refundUser.setMarkets(markets);
Gold gold = new Gold();
List<RefundUser> refundUsers = refundMapper.selectBy(refundUser);
@ -93,7 +95,7 @@ public class RefundServiceImpl implements RefundService {
//查找筛选退款
@Override
public PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser)throws Exception {
List<String> markets = marketService.getMarketIds(refundUser.getMarkets());
List<String> markets = marketMapper.getMarketIds(refundUser.getMarkets());
refundUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectBy(refundUser);

21
src/main/resources/mapper/AuditMapper.xml

@ -62,10 +62,11 @@
<if test="rechargeAudit.activity != null and rechargeAudit.activity != ''">
AND ugr.activity = #{rechargeAudit.activity}
</if>
<if test="rechargeAudit.markets != null and rechargeAudit.markets.size() > 0 and '1' not in rechargeAudit.markets">
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="rechargeAudit.markets != null and rechargeAudit.markets.size() > 0 and '9999' not in rechargeAudit.markets and '9' not in rechargeAudit.markets">
AND (
<foreach collection="rechargeAudit.markets" item="market" separator=" OR ">
m.name LIKE CONCAT('%', #{market}, '%')
<foreach collection="rechargeAudit.markets" item="market" open="" close="" separator=" OR ">
u.market = #{market}
</foreach>
)
</if>
@ -102,13 +103,14 @@
SELECT ugr.*,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name,
u.market as market,
m.name as market,
a1.admin_name as adminName,
a2.admin_name as auditName
FROM user_gold_record as ugr
LEFT JOIN user u ON ugr.jwcode = u.jwcode
LEFT JOIN admin a1 ON ugr.admin_id = a1.id
LEFT JOIN admin a2 ON ugr.audit_id = a2.id
left join market m ON u.market = m.id
<where>
<if test="refundAudit.jwcode != null">
@ -120,13 +122,12 @@
<if test="refundAudit.goodsName != null and refundAudit.goodsName != ''">
AND ugr.goods_name = #{refundAudit.goodsName}
</if>
<if test="refundAudit.market != null and refundAudit.market != ''">
AND u.market = #{refundAudit.market}
</if>
<if test="refundAudit.markets != null and refundAudit.markets.size() > 0 and '1' not in refundAudit.markets">
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="refundAudit.markets != null and refundAudit.markets.size() > 0 and '9999' not in refundAudit.markets and '9' not in refundAudit.markets">
AND (
<foreach collection="refundAudit.markets" item="market" separator=" OR ">
u.market LIKE CONCAT('%', #{market}, '%')
<foreach collection="refundAudit.markets" item="market" open="" close="" separator=" OR ">
u.market = #{market}
</foreach>
)
</if>

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

@ -6,7 +6,7 @@
<select id="selectAll" resultType="com.example.demo.domain.vo.coin.ConsumeUser">
SELECT u.name AS name,
ugr.jwcode AS jwcode,
u.market AS market,
m.name as market,
ugr.goods_name AS goodsName,
ugr.pay_platform AS payPlatform,
ugr.sum_gold AS sumGold,
@ -21,6 +21,7 @@
user u ON u.jwcode = ugr.jwcode
left JOIN
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 1 AND ugr.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
@ -75,7 +76,7 @@
<select id="selectBy" resultType="com.example.demo.domain.vo.coin.ConsumeUser">
SELECT u.name AS name,
ugr.jwcode AS jwcode,
u.market AS market,
m.name as market,
ugr.goods_name AS goodsName,
ugr.pay_platform AS payPlatform,
ugr.sum_gold AS sumGold,
@ -90,6 +91,8 @@
user u ON u.jwcode = ugr.jwcode
left JOIN
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 1 AND ugr.flag = 1
<if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">

6
src/main/resources/mapper/RechargeMapper.xml

@ -7,7 +7,7 @@
SELECT
u.name AS name,
ugr.jwcode AS jwcode,
u.market AS market,
m.name as market,
ugr.activity AS activity,
ugr.rate_id AS rateId,
r.rate_name AS rateName,
@ -24,6 +24,7 @@
left JOIN user u ON u.jwcode = ugr.jwcode
left JOIN admin a ON ugr.admin_id = a.id
left JOIN rate r ON ugr.rate_id = r.id
left join market m ON u.market = m.id
<where>
ugr.type = 0 AND ugr.audit_status IN (1,3)
AND ugr.flag = 1
@ -76,7 +77,7 @@
SELECT
u.name AS name,
ugr.jwcode AS jwcode,
u.market AS market,
m.name as market,
ugr.activity AS activity,
ugr.rate_id AS rateId,
r.rate_name AS rateName,
@ -93,6 +94,7 @@
left JOIN user u ON u.jwcode = ugr.jwcode
left JOIN admin a ON ugr.admin_id = a.id
left JOIN rate r ON ugr.rate_id = r.id
left join market m ON u.market = m.id
<where>
ugr.type = 0 AND ugr.audit_status IN (1,3)
AND ugr.flag = 1

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

@ -6,7 +6,7 @@
<select id="selectAll" resultType="com.example.demo.domain.vo.coin.RefundUser">
SELECT u.name AS name,
ugr.jwcode AS jwcode,
u.market AS market,
m.name as market,
ugr.order_code AS orderCode,
ugr.goods_name AS goodsName,
ugr.refund_model AS refundModel,
@ -23,6 +23,7 @@
user u ON u.jwcode = ugr.jwcode
left JOIN
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 2 AND ugr.audit_status IN (1,3) AND ugr.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
@ -76,7 +77,7 @@
<select id="selectBy" resultType="com.example.demo.domain.vo.coin.RefundUser">
SELECT u.name AS name,
ugr.jwcode AS jwcode,
u.market AS market,
m.name as market,
ugr.order_code AS orderCode,
ugr.goods_name AS goodsName,
ugr.refund_model AS refundModel,
@ -93,6 +94,7 @@
user u ON u.jwcode = ugr.jwcode
left JOIN
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 2 AND ugr.audit_status IN (1,3) AND ugr.flag = 1
<if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">

Loading…
Cancel
Save