From 94b1cb20ca281dc99d17328fa08977722627be4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Thu, 2 Jan 2025 12:51:05 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E4=BA=BA=E5=B7=A5?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=EF=BC=8C=E4=B8=8D=E5=8F=97=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/service/impl/CashOutServiceImpl.java | 3 +- .../com/sqx/modules/pay/wuyou/WuyouPay.java | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java index ed281907..89efbc72 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java @@ -56,7 +56,6 @@ import weixin.popular.support.TokenManager; import javax.websocket.SendResult; import java.math.BigDecimal; -import java.sql.Time; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; @@ -593,7 +592,7 @@ public class CashOutServiceImpl extends ServiceImpl impleme entity.setOrderNumber(outOrderNo); } // 执行提现操作 - BaseResp baseResp = wuyouPay.extractOrder(entity.getOrderNumber(), entity.getMoney(), entity.getZhifubao(), entity.getZhifubaoName()); + BaseResp baseResp = wuyouPay.extractOrderForAudit(entity.getOrderNumber(), entity.getMoney(), entity.getZhifubao(), entity.getZhifubaoName()); if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) { entity.setState(1); } else if (StringUtils.isNotBlank(baseResp.getErrorMsg())) { diff --git a/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java b/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java index 930afdbf..355beafc 100644 --- a/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java +++ b/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java @@ -145,6 +145,35 @@ public class WuyouPay { return JSONObject.parseObject(body, BaseResp.class); } + /** + * 提现,人工审核使用,不收配置开关限制,直接提现 + * + * @param account 支付宝账号 + * @param userName 支付宝名称 + */ + public BaseResp extractOrderForAudit(String outOrderNo, String amount, String account, String userName) { + Map params = getBaseParams(); + + params.put("out_trade_no", outOrderNo); + params.put("total", amount); + params.put("bank_card", account); + params.put("bank_account_name", userName); + params.put("bank_name", "1"); + params.put("bank_branch", "1"); + params.put("province", "1"); + params.put("city", "1"); + params.put("notify_url", extractNotifyUrl); + + String sign = Encrypt.getParamsSign(params); + params.put("sign", sign); + + params.put("business_type", 0); + params.put("business_attr", "alipay"); + + String body = request(Constants.EXTRACT_URL, params, ""); + return JSONObject.parseObject(body, BaseResp.class); + } + public BaseResp queryExtractOrder(String outOrderNo, String amount) { Map params = getBaseParams(); params.put("out_trade_no", outOrderNo); From f45341c550ef70498f5ed290b5fb16f5b2fa8f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 6 Jan 2025 10:15:29 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/UserController.java | 1 + .../app/service/impl/UserServiceImpl.java | 40 ++++++++++++++++--- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/controller/UserController.java b/src/main/java/com/sqx/modules/app/controller/UserController.java index b1def84d..00ccf736 100644 --- a/src/main/java/com/sqx/modules/app/controller/UserController.java +++ b/src/main/java/com/sqx/modules/app/controller/UserController.java @@ -292,6 +292,7 @@ public class UserController { int dyCount = userService.queryUserCount(type, date, "抖音", qdCode); int giveMemberCount = userService.userMessage(date, type, qdCode, 1); int moneyMemberCount = userService.userMessage(date, type, qdCode, 2); +// int memberCount = userVipService.userMessage(date, type, qdCode, null); int memberCount = userService.userMessage(date, type, qdCode, null); int userCount = sumUserCount - memberCount; Map result = new HashMap<>(); diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java index 332bd8ae..7bff4a41 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java @@ -44,6 +44,7 @@ import com.sqx.common.utils.Result; import com.sqx.modules.app.dao.AuthCertNoDTO; import com.sqx.modules.app.dao.MsgDao; import com.sqx.modules.app.dao.UserDao; +import com.sqx.modules.app.dao.UserVipDao; import com.sqx.modules.app.entity.*; import com.sqx.modules.app.service.*; import com.sqx.modules.app.utils.JwtUtils; @@ -82,11 +83,9 @@ import weixin.popular.util.JsonUtil; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.stream.Collectors; /** * 用户 @@ -124,15 +123,17 @@ public class UserServiceImpl extends ServiceImpl implements private SysUserService sysUserService; private final AliService aliService; private final UserInfoService userInfoService; + private final UserVipDao userVipDao; @Value("${spring.profiles.active}") private String profiles; private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); - public UserServiceImpl(@Lazy AliService aliService, UserInfoService userInfoService) { + public UserServiceImpl(@Lazy AliService aliService, UserInfoService userInfoService, UserVipDao userVipDao) { this.aliService = aliService; this.userInfoService = userInfoService; + this.userVipDao = userVipDao; } @Override @@ -1419,7 +1420,34 @@ public class UserServiceImpl extends ServiceImpl implements @Override public int userMessage(String date, int type, String qdCode, Integer vipType) { - return baseMapper.userMessage(date, type, qdCode, vipType); + DateTime dateTime; + if (type == 0) { + dateTime = DateUtil.beginOfDay(DateUtil.parseDate(date)); + + }else if (type == 1) { + dateTime = DateUtil.beginOfMonth(DateUtil.parseDate(date)); + }else { + dateTime = DateUtil.beginOfYear(DateUtil.parseDate(date)); + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .ge(UserEntity::getCreateTime, dateTime); + if (StrUtil.isNotBlank(qdCode)) { + queryWrapper.eq(UserEntity::getQdCode, qdCode); + } + + Set useridList = baseMapper.selectList(queryWrapper.select(UserEntity::getUserId)) + .stream().map(UserEntity::getUserId).collect(Collectors.toSet()); + if (useridList.isEmpty()) { + return 0; + } + + LambdaQueryWrapper vipLambdaQueryWrapper = new LambdaQueryWrapper().in(UserVip::getUserId, useridList) + .eq(UserVip::getIsVip, 2); + if (vipType != null) { + vipLambdaQueryWrapper.eq(UserVip::getVipType, vipType); + } + return userVipDao.selectCount(vipLambdaQueryWrapper); } From c407f21a0bbd9567f638bb9d7e183d3652bce756 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 6 Jan 2025 10:16:38 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1=20Bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqx/modules/orders/controller/OrdersController.java | 8 ++++---- src/main/resources/mapper/orders/OrdersDao.xml | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/sqx/modules/orders/controller/OrdersController.java b/src/main/java/com/sqx/modules/orders/controller/OrdersController.java index 0eb417f9..3e43925b 100644 --- a/src/main/java/com/sqx/modules/orders/controller/OrdersController.java +++ b/src/main/java/com/sqx/modules/orders/controller/OrdersController.java @@ -134,10 +134,10 @@ public class OrdersController extends AbstractController { //日 Double dayMoney = ordersService.selectOrdersMoney(1, 1, 1, dateTime, courseId, sysUserId); Map result = new HashMap<>(); - result.put("sumMoney", sumMoney); - result.put("yearMoney", yearMoney); - result.put("monthMoney", monthMoney); - result.put("dayMoney", dayMoney); + result.put("sumMoney", sumMoney == null ? 0 : sumMoney); + result.put("yearMoney", yearMoney == null ? 0 : yearMoney); + result.put("monthMoney", monthMoney == null ? 0 : monthMoney); + result.put("dayMoney", dayMoney == null ? 0 : dayMoney); return Result.success().put("data", result); } diff --git a/src/main/resources/mapper/orders/OrdersDao.xml b/src/main/resources/mapper/orders/OrdersDao.xml index 6237cad6..be83b9b7 100644 --- a/src/main/resources/mapper/orders/OrdersDao.xml +++ b/src/main/resources/mapper/orders/OrdersDao.xml @@ -205,7 +205,8 @@ select - ifnull(sum(one_money),0.00) + sum(ifnull(one_money,0.00)) - ifnull(sum(two_money),0.00) + sum(ifnull(two_money,0.00)) - ifnull(sum(qd_money),0.00) + sum(ifnull(qd_money,0.00)) - ifnull(sum(one_money),0.00)+ifnull(sum(two_money),0.00)+ifnull(sum(qd_money),0.00) + sum(ifnull(one_money,0.00))+sum(ifnull(two_money,0.00))+sum(ifnull(qd_money,0.00)) from orders where status=1 From 24b94a8ec7ae2b001594f96af8b94e78d9d5a6a0 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 6 Jan 2025 10:48:00 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1=20Bu?= =?UTF-8?q?g3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/orders/controller/OrdersController.java | 4 ++-- src/main/resources/mapper/orders/OrdersDao.xml | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/sqx/modules/orders/controller/OrdersController.java b/src/main/java/com/sqx/modules/orders/controller/OrdersController.java index 3e43925b..500056d6 100644 --- a/src/main/java/com/sqx/modules/orders/controller/OrdersController.java +++ b/src/main/java/com/sqx/modules/orders/controller/OrdersController.java @@ -151,12 +151,12 @@ public class OrdersController extends AbstractController { //渠道 Double qdMoney = ordersService.selectFenXiaoMoney(3, sysUserId, flag, time); //总分销 - Double sumMoney = ordersService.selectFenXiaoMoney(4, sysUserId, flag, time); +// Double sumMoney = ordersService.selectFenXiaoMoney(4, sysUserId, flag, time); Map result = new HashMap<>(); result.put("oneMoney", oneMoney); result.put("twoMoney", twoMoney); result.put("qdMoney", qdMoney); - result.put("sumMoney", sumMoney); + result.put("sumMoney", oneMoney + twoMoney + qdMoney); return Result.success().put("data", result); } diff --git a/src/main/resources/mapper/orders/OrdersDao.xml b/src/main/resources/mapper/orders/OrdersDao.xml index 1776a9cf..802d6beb 100644 --- a/src/main/resources/mapper/orders/OrdersDao.xml +++ b/src/main/resources/mapper/orders/OrdersDao.xml @@ -241,9 +241,6 @@ sum(ifnull(qd_money,0.00)) - - sum(ifnull(one_money,0.00))+sum(ifnull(two_money,0.00))+sum(ifnull(qd_money,0.00)) - from orders where status=1 From 58be937d064660d636ea6f491da8e7347e2d3d72 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 6 Jan 2025 11:03:39 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E5=BD=93=E5=89=8D=E9=9B=86=20=E6=8F=90?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../course/service/impl/CourseDetailsServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sqx/modules/course/service/impl/CourseDetailsServiceImpl.java b/src/main/java/com/sqx/modules/course/service/impl/CourseDetailsServiceImpl.java index f5c89b7d..a6093584 100644 --- a/src/main/java/com/sqx/modules/course/service/impl/CourseDetailsServiceImpl.java +++ b/src/main/java/com/sqx/modules/course/service/impl/CourseDetailsServiceImpl.java @@ -34,7 +34,6 @@ import com.sqx.modules.course.entity.CourseUser; import com.sqx.modules.course.service.CourseDetailsService; import com.sqx.modules.course.vo.CourseDetailsIn; import com.sqx.modules.course.vo.CourseDetailsSetVo; -import com.sqx.modules.course.vo.CourseDetailsVo; import com.sqx.modules.orders.dao.OrdersDao; import com.sqx.modules.orders.service.OrdersService; import com.sqx.modules.redisService.impl.RedisServiceImpl; @@ -53,7 +52,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.math.BigDecimal; import java.util.*; -import java.util.stream.Collectors; +import java.util.concurrent.atomic.AtomicReference; @Service @Slf4j @@ -196,6 +195,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl current = new AtomicReference<>(new CourseDetailsSetVo()); Set finalDetailsId = detailsId; int finalStartSort = startSort; int finalEndSort = endSort; @@ -203,6 +203,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId()))) { @@ -216,11 +217,13 @@ public class CourseDetailsServiceImpl extends ServiceImpl { setCourseView(bean); }); Map map = new HashMap<>(); + map.put("current", current.get()); map.put("title", bean.getTitle()); map.put("list", courseDetailsSetVos); return new Result().put("data", map); From 81386e2f7dffc5f445d2752d394d40c7eaea7b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 6 Jan 2025 11:24:59 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/pay/dao/CashOutDao.java | 3 ++ .../pay/service/impl/CashOutServiceImpl.java | 51 ++++++++++++++++++- src/main/resources/mapper/pay/CashDao.xml | 26 +++++++--- 3 files changed, 73 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java b/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java index cb46b76e..db7df678 100644 --- a/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java +++ b/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java @@ -9,6 +9,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Set; /** * @author fang @@ -46,4 +47,6 @@ public interface CashOutDao extends BaseMapper { BigDecimal selectSumMoney(@Param("userId") Long userId, @Param("state") Integer state); List selectSumByUserIdList(ArrayList userIdList, Integer state); + + List countByUserIdList(Set userIdList); } diff --git a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java index e123e71a..f3d93bb7 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java @@ -594,7 +594,56 @@ public class CashOutServiceImpl extends ServiceImpl impleme public PageUtils auditPage(Map params) { PageHelper.startPage(ParamPageUtils.getPageNum(params), ParamPageUtils.getPageSize(params)); CashOut cashOut = BeanUtil.toBean(params, CashOut.class); - List page = baseMapper.selectCashOutPage(cashOut, false); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (cashOut.getUserId() != null) { + queryWrapper.eq(CashOut::getUserId, cashOut.getUserId()); + } + if (StrUtil.isNotBlank(cashOut.getUserName())) { + queryWrapper.like(CashOut::getUserName, cashOut.getUserName()); + } + if (StrUtil.isNotBlank(cashOut.getZhifubaoName())) { + queryWrapper.like(CashOut::getZhifubaoName, cashOut.getZhifubaoName()); + } + if (StrUtil.isNotBlank(cashOut.getZhifubao())) { + queryWrapper.like(CashOut::getZhifubao, cashOut.getZhifubao()); + } + if (cashOut.getUserType() != null) { + queryWrapper.eq(CashOut::getUserType, cashOut.getUserType()); + } + if (cashOut.getState() != null) { + queryWrapper.eq(CashOut::getState, cashOut.getState()); + } + + if (StrUtil.isNotBlank(cashOut.getStartTime()) && StrUtil.isNotBlank(cashOut.getEndTime())) { + queryWrapper.between(CashOut::getCreateAt, cashOut.getStartTime(), cashOut.getEndTime()); + }else if (StrUtil.isNotBlank(cashOut.getStartTime())) { + queryWrapper.ge(CashOut::getCreateAt, cashOut.getStartTime()); + }else if (StrUtil.isNotBlank(cashOut.getEndTime())) { + queryWrapper.le(CashOut::getCreateAt, cashOut.getEndTime()); + } + + List page; + if (queryWrapper.isEmptyOfWhere()) { + page = list(); + }else { + page = list(queryWrapper); + } + + if (!page.isEmpty()) { + Set userIdList = page.stream().map(CashOut::getUserId).collect(Collectors.toSet()); + Map countInfoMap = cashOutDao.countByUserIdList(userIdList).stream().collect(Collectors.toMap(CashOut::getUserId, item -> item)); + page.forEach(item -> { + CashOut countInfo = countInfoMap.get(item.getUserId()); + if (countInfo != null) { + item.setTotal(countInfo.getTotal()); + item.setCount(countInfo.getCount()); + item.setVerifyCount(countInfo.getVerifyCount()); + item.setVerifyTotal(countInfo.getVerifyTotal()); + } + }); + } + PageInfo pageInfo = new PageInfo<>(page); return PageUtils.page(pageInfo); } diff --git a/src/main/resources/mapper/pay/CashDao.xml b/src/main/resources/mapper/pay/CashDao.xml index 140f2b9e..81fbb266 100644 --- a/src/main/resources/mapper/pay/CashDao.xml +++ b/src/main/resources/mapper/pay/CashDao.xml @@ -61,10 +61,24 @@ GROUP BY user_id + + + + +