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/15] =?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 ec789a8df18cb290d2fe9420a95fa91c56d918c4 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 6 Jan 2025 09:52:55 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=20=E9=9B=86=E6=95=B0?= =?UTF-8?q?=20=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/app/AppCourseController.java | 12 +- .../modules/course/dao/CourseDetailsDao.java | 5 +- .../course/service/CourseDetailsService.java | 3 +- .../impl/CourseDetailsServiceImpl.java | 110 +++++++----------- .../modules/course/vo/CourseDetailsSetVo.java | 21 ++++ .../mapper/course/CourseDetailsDao.xml | 21 +--- 6 files changed, 71 insertions(+), 101 deletions(-) diff --git a/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java b/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java index 4f39ae65..844147ae 100644 --- a/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java +++ b/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java @@ -48,18 +48,10 @@ public class AppCourseController extends AbstractController { @Login @GetMapping("/courseSets") @ApiOperation("根据id查询短剧集数列表") - public Result courseSets(@RequestAttribute("userId") Long userId, Long courseId) { - return courseDetailsService.courseSets(userId, courseId); + public Result courseSets(@RequestAttribute("userId") Long userId, Long courseId, Integer sort) { + return courseDetailsService.courseSets(userId, courseId,sort); } - @Login - @GetMapping("/courseDetails") - @ApiOperation("查询短剧 内容") - public Result courseDetails(@RequestAttribute("userId") Long userId, Long courseId, Integer sort) { - return courseDetailsService.courseDetails(userId, courseId, sort); - } - - @Login @GetMapping("/selectCourseDetailsById") @ApiOperation("根据id查询短剧详情") diff --git a/src/main/java/com/sqx/modules/course/dao/CourseDetailsDao.java b/src/main/java/com/sqx/modules/course/dao/CourseDetailsDao.java index 861a8741..4a7774ff 100644 --- a/src/main/java/com/sqx/modules/course/dao/CourseDetailsDao.java +++ b/src/main/java/com/sqx/modules/course/dao/CourseDetailsDao.java @@ -23,10 +23,7 @@ public interface CourseDetailsDao extends BaseMapper { * @param wholesalePrice 10集价格 */ @Cacheable(cacheNames = "courseSets" ,key = "#courseId") - List courseSets(@Param("courseId") Long courseId, Integer isPrice, BigDecimal price, BigDecimal wholesalePrice); - - List courseDetails(@Param("courseId") Long courseId, @Param("collect") Long collect, - @Param("starSort") Integer starSort, @Param("endSort") Integer endSort); + List courseSets(@Param("courseId") Long courseId, @Param("collect") Long collect, Integer isPrice, BigDecimal price, BigDecimal wholesalePrice); List findByCourseId(@Param("id") Long id, @Param("userId") Long userId); diff --git a/src/main/java/com/sqx/modules/course/service/CourseDetailsService.java b/src/main/java/com/sqx/modules/course/service/CourseDetailsService.java index 71a3534e..c69fbab4 100644 --- a/src/main/java/com/sqx/modules/course/service/CourseDetailsService.java +++ b/src/main/java/com/sqx/modules/course/service/CourseDetailsService.java @@ -20,9 +20,8 @@ public interface CourseDetailsService extends IService { * @param courseId * @return */ - Result courseSets(Long userId, Long courseId); + Result courseSets(Long userId, Long courseId, Integer sort); - Result courseDetails(Long userId, Long courseId, Integer sort); Result selectCourseDetailsById(Long id,String token,String courseDetailsId); 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 da447a24..f5c89b7d 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 @@ -154,104 +154,76 @@ public class CourseDetailsServiceImpl extends ServiceImpl().eq("course_id", courseId) - .eq("user_id", userId).eq("classify", 3).last("limit 1")); + public Result courseSets(Long userId, Long courseId, Integer sort) { + //观看记录 + CourseCollect courseCollect = courseCollectDao.selectOne(new QueryWrapper() + .eq("course_id", courseId).eq("user_id", userId) + .eq("classify", 3).last("limit 1")); + //是否追剧 + Integer collect = courseCollectDao.selectCount(new QueryWrapper() + .eq("user_id", userId).eq("course_id", courseId) + .eq("classify", 1).last("limit 1")); Course bean = courseDao.selectById(courseId); //查询用户是否购买了整集 CourseUser courseUser = courseUserDao.selectCourseUser(courseId, userId); // 每天购买超过上限,获得免费时间段资格 boolean freeWatch = checkFreeWatchPayCount(userId); - List courseDetailsSetVos; - if (freeWatch || courseUser != null) { - courseDetailsSetVos = baseMapper.courseSets(courseId, 2, null, null); - } else { -// courseDetailsSetVos = baseMapper.courseSets(courseId, 1, bean.getPrice(), bean.getWholesalePrice()); - courseDetailsSetVos = baseMapper.courseSets(courseId, 2, bean.getPrice(), bean.getWholesalePrice()); - //查询用户是否单独购买了集 - Set detailsId = courseUserDao.selectUserCourseDetailsId(courseId, userId); - if (courseCollect != null) { - for (CourseDetailsSetVo s : courseDetailsSetVos) { - if (s.getCourseDetailsId().equals(courseCollect.getCourseDetailsId())) { - s.setCurrent(1); - break; - } - } - } else { - courseDetailsSetVos.get(0).setCurrent(1); - } - if (CollectionUtil.isNotEmpty(detailsId)) { - courseDetailsSetVos = courseDetailsSetVos.stream() - .peek(s -> { - if (detailsId.contains(s.getCourseDetailsId())) { - s.setIsPrice(2); - } - }) - .collect(Collectors.toList()); - } - } - Map map = new HashMap<>(); - map.put("title", bean.getTitle()); - map.put("list", courseDetailsSetVos); - return new Result().put("data", map); - } - - @Override - public Result courseDetails(Long userId, Long courseId, Integer sort) { - Course bean = courseDao.selectById(courseId); - Integer detailCount = baseMapper.countCourseByCourseId(courseId); - if (detailCount == null || detailCount.equals(0)) { - return Result.error("暂无可看剧集,请观看其它影片。"); - } int startSort = 0; int endSort = 5; if (sort == null) { - CourseCollect courseCollect = courseCollectDao.selectOne(new QueryWrapper().eq("course_id", courseId) - .eq("user_id", userId).eq("classify", 3).last("limit 1")); if (courseCollect != null) { CourseDetails courseDetails = baseMapper.selectOne(new QueryWrapper() .eq("course_details_id", courseCollect.getCourseDetailsId()).eq("course_id", courseCollect.getCourseId()).last("limit 1")); sort = courseDetails.getSort(); } } + List courseDetailsSetVos; + if (freeWatch || courseUser != null) { + courseDetailsSetVos = baseMapper.courseSets(courseId, collect == null ? 0L : 1L, 2, null, null); + } else { + courseDetailsSetVos = baseMapper.courseSets(courseId, collect == null ? 0L : 1L, 1, bean.getPrice(), bean.getWholesalePrice()); + } if (sort != null && sort > 2) { startSort = sort - 3; endSort = sort + 3; - if (detailCount < endSort) { - startSort = detailCount - 5; - endSort = detailCount + 1; + if (courseDetailsSetVos.size() < endSort) { + startSort = courseDetailsSetVos.size() - 5; + endSort = courseDetailsSetVos.size() + 1; } } - //查询用户是否购买了整集 - CourseUser courseUser = courseUserDao.selectCourseUser(courseId, userId); - boolean freeWatch = true; - if (courseUser == null) { - // 每天购买超过上限,获得免费时间段资格 - freeWatch = checkFreeWatchPayCount(userId); - } - Integer collect = courseCollectDao.selectCount(new QueryWrapper() - .eq("user_id", userId).eq("course_id", courseId) - .eq("classify", 1).last("limit 1")); + //已购买剧集 Set detailsId = new HashSet<>(); - //全剧免费 if ((!freeWatch)) { detailsId = courseUserDao.selectUserCourseDetailsId(courseId, userId); } - List courseDetailsVos = baseMapper.courseDetails(courseId, collect == null ? 0L : 1L, startSort, endSort); Set finalDetailsId = detailsId; - courseDetailsVos.stream().forEach(s -> { + int finalStartSort = startSort; + int finalEndSort = endSort; + courseDetailsSetVos.parallelStream().forEach(s -> { + //当前 + if (courseCollect != null && s.getCourseDetailsId().equals(courseCollect.getCourseDetailsId())) { + s.setCurrent(1); + } // 不免费 3集以后 (已买的不为空 并不在已买的包含) -// if (!freeWatch && s.getSort() > 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId()))) { -// s.setVideoUrl(null); -// } - CourseCollect isGood = courseCollectDao.selectOne(new QueryWrapper() - .eq("user_id", userId).eq("course_details_id", s.getCourseDetailsId()).eq("classify", 2).last("limit 1")); - s.setIsGood(isGood == null ? 0 : 1); + if (!freeWatch && s.getSort() > 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId()))) { + s.setVideoUrl(null); + } + if (s.getSort() > finalStartSort && s.getSort() < finalEndSort) { + CourseCollect isGood = courseCollectDao.selectOne(new QueryWrapper() + .eq("user_id", userId).eq("course_details_id", s.getCourseDetailsId()).eq("classify", 2).last("limit 1")); + s.setIsGood(isGood == null ? 0 : 1); + } }); + if (courseCollect == null) { + courseDetailsSetVos.get(0).setCurrent(1); + } ThreadUtil.execAsync(() -> { setCourseView(bean); }); - return new Result().put("data", courseDetailsVos); + Map map = new HashMap<>(); + map.put("title", bean.getTitle()); + map.put("list", courseDetailsSetVos); + return new Result().put("data", map); } @Override diff --git a/src/main/java/com/sqx/modules/course/vo/CourseDetailsSetVo.java b/src/main/java/com/sqx/modules/course/vo/CourseDetailsSetVo.java index bc2534c1..42f2bcbb 100644 --- a/src/main/java/com/sqx/modules/course/vo/CourseDetailsSetVo.java +++ b/src/main/java/com/sqx/modules/course/vo/CourseDetailsSetVo.java @@ -15,4 +15,25 @@ public class CourseDetailsSetVo { private BigDecimal wholesalePrice; private BigDecimal countPrice; private Integer sort; + + /** + * 封面图 + */ + private String titleImg; + /** + * 视频地址 + */ + private String videoUrl; + /** + * 点赞数 + */ + private Integer goodNum; + /** + * 是否已追 + */ + private Long isCollect; + /** + * 是否点赞 + */ + private Integer isGood; } diff --git a/src/main/resources/mapper/course/CourseDetailsDao.xml b/src/main/resources/mapper/course/CourseDetailsDao.xml index 9acb74de..b33dbe22 100644 --- a/src/main/resources/mapper/course/CourseDetailsDao.xml +++ b/src/main/resources/mapper/course/CourseDetailsDao.xml @@ -6,32 +6,21 @@ select c.course_id as courseId , c.course_details_id as courseDetailsId , c.course_details_name as courseDetailsName + , c.video_url as videoUrl , c.price as countPrice , c.sort as sort , ifnull(#{price}, 0) as price , ifnull(#{wholesalePrice}, 0) as wholesalePrice , IF(#{isPrice} = 1, c.is_price, 2) AS isPrice + , c.title_img as titleImg + , c.good_num as goodNum + , c.sort as sort + , IF(#{collect} = 1, 1, 0) AS isCollect from course_details c where c.course_id = #{courseId} order by c.sort asc - - - select u.*,v.is_vip as member,v.end_time as endTime,v.vip_type as vipType, +-- select u.*,v.is_vip as member,v.end_time as endTime,v.vip_type as vipType, + select u.*,1 as member, s.username as sysUserName from tb_user u - left join user_vip v on v.user_id=u.user_id +-- left join user_vip v on v.user_id=u.user_id left join sys_user s on s.qd_code=u.qd_code where s.sys_user_id is null - - and v.vip_type = #{vipType} - + + + and (u.user_id=#{search} or u.phone = #{search} or u.user_name =#{search} ) @@ -32,15 +33,15 @@ and u.sys_phone=#{sysPhone} - - and u.status=#{status} - - - and v.is_vip=#{member} - - - and (v.is_vip=1 or v.is_vip is null) - + + + + + + + + + and u.inviter_code like concat("%",#{inviterCode},"%") From 98182fec9d18e36ac94fdeb22f87b0379a2975ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Mon, 6 Jan 2025 10:08:32 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E5=88=86=E5=BA=93=E7=9A=84=E8=A1=A8?= =?UTF-8?q?=E4=B8=BB=E9=94=AE=E6=94=B9=E4=B8=BA=E9=9B=AA=E8=8A=B1id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/app/entity/InviteAchievement.java | 9 ++++----- .../java/com/sqx/modules/app/entity/UserEntity.java | 2 +- .../java/com/sqx/modules/app/entity/UserInfo.java | 4 ++-- .../java/com/sqx/modules/app/entity/UserMoney.java | 2 +- .../com/sqx/modules/app/entity/UserMoneyDetails.java | 6 ++---- .../java/com/sqx/modules/course/entity/Course.java | 2 +- .../com/sqx/modules/course/entity/CourseCollect.java | 4 +--- .../com/sqx/modules/course/entity/CourseDetails.java | 2 +- .../com/sqx/modules/course/entity/CourseUser.java | 2 +- .../discSpinning/entity/DiscSpinningRecord.java | 5 ++--- .../com/sqx/modules/invite/entity/InviteMoney.java | 3 +++ .../java/com/sqx/modules/orders/entity/Orders.java | 2 +- src/main/java/com/sqx/modules/pay/entity/CashOut.java | 2 +- .../java/com/sqx/modules/pay/entity/PayDetails.java | 2 +- .../com/sqx/modules/sys/entity/SysUserEntity.java | 7 ++----- .../modules/taskCenter/entity/TaskCenterRecord.java | 3 +++ .../sqx/modules/userSign/entity/UserSignRecord.java | 11 ++++++----- 17 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java b/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java index 427f343c..672f3d5f 100644 --- a/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java +++ b/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java @@ -4,16 +4,15 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import java.io.Serializable; +import java.util.Date; + /** * * @TableName invite_achievement @@ -26,7 +25,7 @@ public class InviteAchievement implements Serializable { /** * */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; diff --git a/src/main/java/com/sqx/modules/app/entity/UserEntity.java b/src/main/java/com/sqx/modules/app/entity/UserEntity.java index e5ddbae7..c80cccbe 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserEntity.java +++ b/src/main/java/com/sqx/modules/app/entity/UserEntity.java @@ -30,7 +30,7 @@ public class UserEntity implements Serializable { */ @Excel(name = "用户id", orderNum = "1") @ApiModelProperty("用户id") - @TableId(value = "user_id") + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long userId; /** diff --git a/src/main/java/com/sqx/modules/app/entity/UserInfo.java b/src/main/java/com/sqx/modules/app/entity/UserInfo.java index 65f26d8a..89b13406 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserInfo.java +++ b/src/main/java/com/sqx/modules/app/entity/UserInfo.java @@ -1,10 +1,10 @@ package com.sqx.modules.app.entity; import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; import java.io.Serializable; import java.util.Date; -import lombok.Data; /** * @@ -16,7 +16,7 @@ public class UserInfo implements Serializable { /** * */ - @TableId + @TableId(type = IdType.ID_WORKER) private Long id; /** diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoney.java b/src/main/java/com/sqx/modules/app/entity/UserMoney.java index ca27673b..3acf2abb 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoney.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoney.java @@ -25,7 +25,7 @@ public class UserMoney implements Serializable { * 主键id */ @ApiModelProperty("主键id") - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java index 2f911e7a..354fbf59 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java @@ -1,8 +1,7 @@ package com.sqx.modules.app.entity; import cn.hutool.core.date.DateUtil; -//import com.amazonaws.services.dynamodbv2.xspec.L; -//import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -12,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; -//import lombok.NoArgsConstructor; import java.io.Serializable; import java.math.BigDecimal; @@ -26,7 +24,7 @@ public class UserMoneyDetails implements Serializable { * 钱包详情id */ @ApiModelProperty("钱包详情id") - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; /** diff --git a/src/main/java/com/sqx/modules/course/entity/Course.java b/src/main/java/com/sqx/modules/course/entity/Course.java index b62bd296..a4415160 100644 --- a/src/main/java/com/sqx/modules/course/entity/Course.java +++ b/src/main/java/com/sqx/modules/course/entity/Course.java @@ -27,7 +27,7 @@ public class Course implements Serializable { /** * 短剧id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long courseId; diff --git a/src/main/java/com/sqx/modules/course/entity/CourseCollect.java b/src/main/java/com/sqx/modules/course/entity/CourseCollect.java index 9c9935a7..e4837766 100644 --- a/src/main/java/com/sqx/modules/course/entity/CourseCollect.java +++ b/src/main/java/com/sqx/modules/course/entity/CourseCollect.java @@ -5,8 +5,6 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.experimental.Accessors; -import org.apache.ibatis.annotations.Update; -import org.apache.ibatis.annotations.UpdateProvider; import java.io.Serializable; @@ -26,7 +24,7 @@ public class CourseCollect implements Serializable { /** * 收藏id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long courseCollectId; diff --git a/src/main/java/com/sqx/modules/course/entity/CourseDetails.java b/src/main/java/com/sqx/modules/course/entity/CourseDetails.java index 661e09a9..21b3c789 100644 --- a/src/main/java/com/sqx/modules/course/entity/CourseDetails.java +++ b/src/main/java/com/sqx/modules/course/entity/CourseDetails.java @@ -23,7 +23,7 @@ public class CourseDetails implements Serializable { /** * 短剧目录id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long courseDetailsId; diff --git a/src/main/java/com/sqx/modules/course/entity/CourseUser.java b/src/main/java/com/sqx/modules/course/entity/CourseUser.java index 240f934f..8572a5fb 100644 --- a/src/main/java/com/sqx/modules/course/entity/CourseUser.java +++ b/src/main/java/com/sqx/modules/course/entity/CourseUser.java @@ -22,7 +22,7 @@ public class CourseUser implements Serializable { /** * 我的短剧id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long courseUserId; diff --git a/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java b/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java index fcd94cda..09e76e24 100644 --- a/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java +++ b/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java @@ -1,8 +1,6 @@ package com.sqx.modules.discSpinning.entity; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -20,6 +18,7 @@ import java.math.BigDecimal; @TableName("disc_spinning_record") public class DiscSpinningRecord extends Model { //主键 + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; @JsonSerialize(using = ToStringSerializer.class) diff --git a/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java b/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java index df805e0e..40718230 100644 --- a/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java +++ b/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java @@ -1,5 +1,7 @@ package com.sqx.modules.invite.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -18,6 +20,7 @@ public class InviteMoney implements Serializable { /** * 邀请收益钱包id */ + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; diff --git a/src/main/java/com/sqx/modules/orders/entity/Orders.java b/src/main/java/com/sqx/modules/orders/entity/Orders.java index f3d8bcaa..5405caa0 100644 --- a/src/main/java/com/sqx/modules/orders/entity/Orders.java +++ b/src/main/java/com/sqx/modules/orders/entity/Orders.java @@ -23,7 +23,7 @@ public class Orders implements Serializable { /** * 订单id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long ordersId; diff --git a/src/main/java/com/sqx/modules/pay/entity/CashOut.java b/src/main/java/com/sqx/modules/pay/entity/CashOut.java index baba18a8..6356da23 100644 --- a/src/main/java/com/sqx/modules/pay/entity/CashOut.java +++ b/src/main/java/com/sqx/modules/pay/entity/CashOut.java @@ -25,7 +25,7 @@ public class CashOut implements Serializable { /** * 申请提现id */ - @TableId(type = IdType.INPUT) + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private long id; diff --git a/src/main/java/com/sqx/modules/pay/entity/PayDetails.java b/src/main/java/com/sqx/modules/pay/entity/PayDetails.java index 7773c9ef..e179af95 100644 --- a/src/main/java/com/sqx/modules/pay/entity/PayDetails.java +++ b/src/main/java/com/sqx/modules/pay/entity/PayDetails.java @@ -24,7 +24,7 @@ public class PayDetails implements Serializable { /** * 充值记录id */ - @TableId(type = IdType.INPUT) + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; diff --git a/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java b/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java index c7c36565..0a78ea88 100644 --- a/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java +++ b/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java @@ -1,9 +1,6 @@ package com.sqx.modules.sys.entity; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.sqx.common.validator.group.AddGroup; @@ -29,7 +26,7 @@ public class SysUserEntity implements Serializable { /** * 用户ID */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long userId; diff --git a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java index 53e44daa..2fd7b24f 100644 --- a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java +++ b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java @@ -1,5 +1,7 @@ package com.sqx.modules.taskCenter.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModel; @@ -16,6 +18,7 @@ import lombok.Data; @TableName("task_center_record") @ApiModel(value = "任务领取记录 实体类") public class TaskCenterRecord extends Model { + @TableId(type = IdType.ID_WORKER) @ApiModelProperty(value = "id",hidden = true) private Long id; @ApiModelProperty(value = "用户id",hidden = true) diff --git a/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java b/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java index bd832e93..f1f1b7f8 100644 --- a/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java +++ b/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java @@ -1,15 +1,15 @@ package com.sqx.modules.userSign.entity; -import java.util.Date; - -import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - - import lombok.Data; +import java.util.Date; + /** * 用户签到表(UserSignRecord)表实体类 * @@ -20,6 +20,7 @@ import lombok.Data; @TableName("user_sign_record") @ApiModel(value = "用户签到表 实体类") public class UserSignRecord extends Model { + @TableId(type = IdType.ID_WORKER) @ApiModelProperty("id") private Long id; @ApiModelProperty("用户id") 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 05/15] =?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 06/15] =?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 08/15] =?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 09/15] =?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 10/15] =?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 + + + + +