From c0aa5deb1944f8b93456ad723d898cf81ce3d16a Mon Sep 17 00:00:00 2001 From: hu177768073 <177768073@qq.com> Date: Wed, 7 May 2025 17:03:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bweb/config/AuthConfig.java | 1 + .../controller/BsUserSpreadController.java | 48 ++++++++++++++++++- .../hfkj/dao/BsGasOrderSpreadMapperExt.java | 34 ++++++++++--- .../service/gas/BsGasOrderSpreadService.java | 7 +++ .../gas/impl/BsGasOrderSpreadServiceImpl.java | 5 ++ .../service/sec/SecDictionaryService.java | 10 +++- .../sec/impl/SecDictionaryServiceImpl.java | 10 ++++ 7 files changed, 106 insertions(+), 9 deletions(-) diff --git a/bweb/src/main/java/com/bweb/config/AuthConfig.java b/bweb/src/main/java/com/bweb/config/AuthConfig.java index 0001be8..26c77f0 100644 --- a/bweb/src/main/java/com/bweb/config/AuthConfig.java +++ b/bweb/src/main/java/com/bweb/config/AuthConfig.java @@ -99,6 +99,7 @@ public class AuthConfig implements WebMvcConfigurer { .excludePathPatterns("/merchantChainBrand/*") .excludePathPatterns("/tuanYou/*") .excludePathPatterns("/merchantChainBrandAccount") + .excludePathPatterns("/userSpread/*") ; } diff --git a/bweb/src/main/java/com/bweb/controller/BsUserSpreadController.java b/bweb/src/main/java/com/bweb/controller/BsUserSpreadController.java index 0394caf..0d59f10 100644 --- a/bweb/src/main/java/com/bweb/controller/BsUserSpreadController.java +++ b/bweb/src/main/java/com/bweb/controller/BsUserSpreadController.java @@ -7,12 +7,14 @@ import com.hfkj.common.exception.ErrorCode; import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; +import com.hfkj.common.utils.RedisUtil; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.*; import com.hfkj.model.ResponseData; import com.hfkj.model.UserSessionObject; import com.hfkj.service.gas.BsGasOrderService; import com.hfkj.service.gas.BsGasOrderSpreadService; +import com.hfkj.service.sec.SecDictionaryService; import com.hfkj.service.spread.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -24,6 +26,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -48,6 +51,8 @@ public class BsUserSpreadController { private BsGasOrderService gasOrderService; @Resource private BsUserSpreadRelService userSpreadRelService; + @Resource + private SecDictionaryService secDictionaryService; @RequestMapping(value = "/editOilChannel", method = RequestMethod.POST) @ResponseBody @@ -156,10 +161,49 @@ public class BsUserSpreadController { } } + @RequestMapping(value = "/countCommission", method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "统计佣金情况") + public ResponseData countCommission() { + try { + + return ResponseMsgUtil.success(gasOrderSpreadService.countCommission()); + + } catch (Exception e) { + return ResponseMsgUtil.exception(e); + } + } + + + @RequestMapping(value = "/recharge", method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "充值") + public ResponseData recharge(@RequestBody JSONObject body) { + try { + if (body == null || body.getBigDecimal("amount") == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + List data = secDictionaryService.getDictionary("SYS_USER_SPREAD_ACCOUNT"); + if (data != null && !data.isEmpty()) { + SecDictionary account = data.get(0); + account.setCodeName(new BigDecimal(account.getCodeName()).add(body.getBigDecimal("amount")).toString()); + secDictionaryService.update(account); + // 清除缓存 + secDictionaryService.cleanCache(); + } + return ResponseMsgUtil.success("操作成功"); + + } catch (Exception e) { + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value = "/countAccount", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "统计金额") - public ResponseData countAccount(@RequestParam(value = "userId", required = true) Long userId, + public ResponseData countAccount(@RequestParam(value = "userId", required = false) Long userId, @RequestParam(name = "orderStatus", required = false) Integer orderStatus, @RequestParam(name = "payTimeS", required = false) Long payTimeS, @RequestParam(name = "payTimeE", required = false) Long payTimeE) { @@ -179,7 +223,7 @@ public class BsUserSpreadController { @RequestMapping(value="/queryOilOrderSpread",method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "查询加油推广订单") - public ResponseData queryOilOrderSpread(@RequestParam(value = "userId", required = true) Long userId, + public ResponseData queryOilOrderSpread(@RequestParam(value = "userId", required = false) Long userId, @RequestParam(name = "orderNo", required = false) String orderNo, @RequestParam(name = "orderStatus", required = false) Integer orderStatus, @RequestParam(name = "payTimeS", required = false) Long payTimeS, diff --git a/service/src/main/java/com/hfkj/dao/BsGasOrderSpreadMapperExt.java b/service/src/main/java/com/hfkj/dao/BsGasOrderSpreadMapperExt.java index 0e4ba7e..83b494a 100644 --- a/service/src/main/java/com/hfkj/dao/BsGasOrderSpreadMapperExt.java +++ b/service/src/main/java/com/hfkj/dao/BsGasOrderSpreadMapperExt.java @@ -41,19 +41,22 @@ public interface BsGasOrderSpreadMapperExt { " from (" + " select sum(b.gains_rebate_amount) totalAmount" + " from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" + - " WHERE b.gains_rebate_user_id = #{param.userId} and a.`status` in (${param.status})" + + " WHERE a.`status` in (${param.status})" + + " and b.gains_rebate_user_id = #{param.userId} " + " = #{param.payTimeS} ]]> " + " " + " union all" + " select sum(b.gains_rebate_one_amount) totalAmount" + " from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" + - " WHERE b.gains_rebate_one_user_id = #{param.userId} and a.`status` in (${param.status}) " + + " WHERE a.`status` in (${param.status})" + + " and b.gains_rebate_user_id = #{param.userId} " + " = #{param.payTimeS} ]]> " + " " + " union all" + " select sum(b.gains_rebate_two_amount) totalAmount" + " from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" + - " WHERE b.gains_rebate_two_user_id = #{param.userId} and a.`status` in (${param.status}) " + + " WHERE a.`status` in (${param.status})" + + " and b.gains_rebate_user_id = #{param.userId} " + " = #{param.payTimeS} ]]> " + " " + " ) a" + @@ -66,19 +69,38 @@ public interface BsGasOrderSpreadMapperExt { " select " + " sum(b.gains_rebate_amount) totalAmount" + " from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" + - " WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2 and b.gains_rebate_user_id = #{userId}" + + " WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2" + + " and b.gains_rebate_user_id = #{userId} " + " union all" + " select " + " sum(b.gains_rebate_one_amount) totalAmount" + " from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" + - " WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2 and b.gains_rebate_one_user_id = #{userId}" + + " WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2" + + " and b.gains_rebate_one_user_id = #{userId} " + " union all" + " select " + " sum(b.gains_rebate_two_amount) totalAmount" + " from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" + - " WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2 and b.gains_rebate_two_user_id = #{userId}" + + " WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2" + + " and b.gains_rebate_two_user_id = #{userId} " + " ) a") BigDecimal queryNotCashOutAmount(@Param("userId") Long userId); + + @Select(" select " + + " a.amount + a.cashOutAmount totalAmount," + + " a.amount notWithdrawnAmount," + + " a.cashOutAmount," + + " a.sysSperadAmount," + + " a.sysSperadAmount - a.cashOutAmount surplusAmount" + + " from " + + " (SELECT" + + " (select code_name from sec_dictionary where code_type = 'SYS_USER_SPREAD_ACCOUNT' and `status` = 1 LIMIT 1) sysSperadAmount," + + " sum( amount ) amount," + + " sum( cash_out_amount ) cashOutAmount" + + " FROM" + + " bs_user_spread_account " + + " WHERE `status` = 1) a ") + HashMap countCommission(); } diff --git a/service/src/main/java/com/hfkj/service/gas/BsGasOrderSpreadService.java b/service/src/main/java/com/hfkj/service/gas/BsGasOrderSpreadService.java index 0f1beb3..4b332c5 100644 --- a/service/src/main/java/com/hfkj/service/gas/BsGasOrderSpreadService.java +++ b/service/src/main/java/com/hfkj/service/gas/BsGasOrderSpreadService.java @@ -4,6 +4,7 @@ import com.hfkj.entity.BsGasOrder; import com.hfkj.entity.BsGasOrderSpread; import java.math.BigDecimal; +import java.util.HashMap; import java.util.Map; /** @@ -44,6 +45,12 @@ public interface BsGasOrderSpreadService { */ BigDecimal countSettleOrderPrice(Map param); + /** + * 统计佣金情况 + * @return + */ + HashMap countCommission(); + /** * 查询未结算金额 * @param userId diff --git a/service/src/main/java/com/hfkj/service/gas/impl/BsGasOrderSpreadServiceImpl.java b/service/src/main/java/com/hfkj/service/gas/impl/BsGasOrderSpreadServiceImpl.java index 073a645..3d1a03e 100644 --- a/service/src/main/java/com/hfkj/service/gas/impl/BsGasOrderSpreadServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/gas/impl/BsGasOrderSpreadServiceImpl.java @@ -121,6 +121,11 @@ public class BsGasOrderSpreadServiceImpl implements BsGasOrderSpreadService { return gasOrderSpreadMapper.countSettleOrderPrice(param); } + @Override + public HashMap countCommission() { + return gasOrderSpreadMapper.countCommission(); + } + @Override public BigDecimal getNotCashOutAmount(Long userId) { return gasOrderSpreadMapper.queryNotCashOutAmount(userId); diff --git a/service/src/main/java/com/hfkj/service/sec/SecDictionaryService.java b/service/src/main/java/com/hfkj/service/sec/SecDictionaryService.java index ca1bb5e..dec3fbd 100644 --- a/service/src/main/java/com/hfkj/service/sec/SecDictionaryService.java +++ b/service/src/main/java/com/hfkj/service/sec/SecDictionaryService.java @@ -11,6 +11,11 @@ import java.util.List; **/ public interface SecDictionaryService { + /** + * 修改 + * @param dictionary + */ + void update(SecDictionary dictionary); /** * 获取数据字典 * @return @@ -32,6 +37,9 @@ public interface SecDictionaryService { */ SecDictionary getDictionary(String codeType, String codeValue); - + /** + * 清楚缓存 + */ + void cleanCache(); } diff --git a/service/src/main/java/com/hfkj/service/sec/impl/SecDictionaryServiceImpl.java b/service/src/main/java/com/hfkj/service/sec/impl/SecDictionaryServiceImpl.java index ac37a2b..249ce91 100644 --- a/service/src/main/java/com/hfkj/service/sec/impl/SecDictionaryServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/sec/impl/SecDictionaryServiceImpl.java @@ -26,6 +26,11 @@ public class SecDictionaryServiceImpl implements SecDictionaryService { // 缓存KEY private final String cacheKey = "SEC_DICTIONARY"; + @Override + public void update(SecDictionary dictionary) { + secDictionaryMapper.updateByPrimaryKey(dictionary); + } + @Override public List getDictionary() { Object cache = redisUtil.get(cacheKey); @@ -56,4 +61,9 @@ public class SecDictionaryServiceImpl implements SecDictionaryService { } } + @Override + public void cleanCache() { + redisUtil.del(cacheKey); + } + }