From afd018f79f0d165cf3ba330db6886a09ed6fb8d8 Mon Sep 17 00:00:00 2001 From: 777 <123@qwe.com> Date: Thu, 25 Sep 2025 01:20:29 +0800 Subject: [PATCH] V13 --- doc/20250926.sql | 4 ++ .../controller/cai/app/IndexController.java | 6 +++ .../dto/app/query/index/AnchorListQuery.java | 12 ++++-- .../ruoyi/cai/dto/app/vo/AnchorListVo.java | 5 +++ .../cai/dto/app/vo/setting/AppHomeConfig.java | 2 + .../com/ruoyi/cai/enums/SystemConfigEnum.java | 1 + .../enums/home/AnchorListQueryTypeEnum.java | 3 ++ .../cai/manager/AccountTotalManager.java | 10 ++++- .../com/ruoyi/cai/mapper/AnchorMapper.java | 2 + .../cai/service/impl/AnchorServiceImpl.java | 6 ++- .../resources/mapper/cai/AnchorMapper.xml | 40 +++++++++++++++---- 11 files changed, 77 insertions(+), 14 deletions(-) create mode 100644 doc/20250926.sql diff --git a/doc/20250926.sql b/doc/20250926.sql new file mode 100644 index 00000000..3ceb19ca --- /dev/null +++ b/doc/20250926.sql @@ -0,0 +1,4 @@ +ALTER TABLE cai_account + ADD COLUMN `anchor_total_coin` bigint(20) default 0 COMMENT '主播总收入'; +ALTER TABLE cai_anchor + ADD COLUMN `anchor_total_coin` bigint(20) default 0 COMMENT '主播总收入'; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/IndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/IndexController.java index b35e855b..b5916afa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/IndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/IndexController.java @@ -61,6 +61,7 @@ public class IndexController { public R config(){ AppHomeConfig appHomeConfig = homeManager.config(); appHomeConfig.setHomeDialogText(systemConfigManager.getSystemConfig(SystemConfigEnum.HOME_DIALOG_TEXT)); + appHomeConfig.setTdKf(systemConfigManager.getSystemConfig(SystemConfigEnum.TD_KF)); return R.ok(appHomeConfig); } @@ -103,6 +104,11 @@ public class IndexController { @Log(title = "首页查询主播接口V2", businessType = BusinessType.OTHER,isPrintResponseData = false, isSaveDb = false) public R> anchorPageV2(PageQuery page, AnchorListQuery query){ List home = homeManager.getHomeV2(page, query); + home.forEach(i -> { + if(i.getServiceTime() != null){ + i.setServiceTime(i.getServiceTime()/60); + } + }); return R.ok(home); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java index ad0f3de9..8e591082 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java @@ -14,16 +14,20 @@ public class AnchorListQuery { * 1-活跃查询 * 2-新人查询 * 3-同城查询 + * 4-时长 + * 5-魅力 + * 6-附近 */ - @Schema(description = "类型 0-默认 1-活跃 2-新人 3-同城") + @Schema(description = "类型 0-默认 1-活跃 2-新人 3-同城 4-时长 5-魅力 6-附近") private Integer type; - @Schema(hidden = true, description = "是否开启视频接听") - private Integer openVideoStatus; + @Schema(description = "金币搜索") + private Integer price; @Schema(description = "城市(同城查询使用)") private Integer cityId; - + @Schema(hidden = true, description = "是否开启视频接听") + private Integer openVideoStatus; @Schema(hidden = true) private Integer onlineStatus; @Schema(hidden = true) diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java index e343d302..e84b0301 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java @@ -16,6 +16,11 @@ public class AnchorListVo { @Schema(description = "在线状态 0=离线,1=在线") private Integer online; + /** + * 服务时长(分钟) + */ + private Integer serviceTime; + @Schema(description = "用户ID") private Long userId; /** diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/setting/AppHomeConfig.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/setting/AppHomeConfig.java index ec4a9d9f..6271c871 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/setting/AppHomeConfig.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/setting/AppHomeConfig.java @@ -15,4 +15,6 @@ public class AppHomeConfig { private String servId = "4"; @Schema(description = "首页弹窗内容") private String homeDialogText; + @Schema(description = "土豆客服账号") + private String tdKf; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java index 9117fc31..a6aa5f8f 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java @@ -12,6 +12,7 @@ import lombok.Setter; */ @Getter public enum SystemConfigEnum { + TD_KF("", "土豆客服账号",SystemConfigGroupEnum.BUSINESS), RANK_LOVE_DAY_AWARD("13800,10800,8800,5800,3800,2800,2800,2800,2800,2800,2800", "魅力榜日榜前10名奖励", SystemConfigGroupEnum.BUSINESS, new NumberListSystemConfigCheck(10)), RANK_LOVE_WEEK_AWARD("88800,58800,38800,28800,18800,13800,13800,13800,13800,13800,13800,13800", "魅力榜周榜前10名奖励",SystemConfigGroupEnum.BUSINESS, new NumberListSystemConfigCheck(10)), RANK_INVITE_DAY_AWARD("13800,10800,8800,5800,3800,2800,2800,2800,2800,2800,2800", "邀请榜日榜前10名奖励",SystemConfigGroupEnum.BUSINESS,new NumberListSystemConfigCheck(10)), diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/home/AnchorListQueryTypeEnum.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/home/AnchorListQueryTypeEnum.java index 94137723..97e015b9 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/home/AnchorListQueryTypeEnum.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/home/AnchorListQueryTypeEnum.java @@ -13,6 +13,9 @@ public enum AnchorListQueryTypeEnum { ACTIVE(1,"活跃查询"), NEW(2,"新人查询"), CITY(3,"同城查询"), + SERVICE_TIME(4,"时长"), + LOVE(5,"魅力"), + LOCATION(6,"附近"), ; private final Integer code; private final String text; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/AccountTotalManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/AccountTotalManager.java index 787abb1b..5b94268a 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/AccountTotalManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/AccountTotalManager.java @@ -1,7 +1,10 @@ package com.ruoyi.cai.manager; import com.ruoyi.cai.mapper.AccountMapper; +import com.ruoyi.cai.mapper.AnchorMapper; +import com.ruoyi.cai.service.AnchorService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -13,15 +16,19 @@ public class AccountTotalManager { @Resource private AccountMapper accountMapper; + @Resource + private AnchorMapper anchorMapper; public void incsGuardIncomeCoin(Long userId, Long amount, Long businessLogId){ log.info("开始收入统计 守护: userId={},amount={}, businessLogId={}", userId, amount, businessLogId); accountMapper.incsGuardIncomeIcon(userId, amount); + anchorMapper.incsTotalIcon(userId,amount); } public void incsGiftIncomeCoin(Long userId, Long amount, Long businessLogId){ log.info("开始收入统计 礼物: userId={},amount={}, businessLogId={}", userId, amount, businessLogId); accountMapper.incsGiftIncomeIcon(userId, amount); + anchorMapper.incsTotalIcon(userId,amount); } public void incsMessageIncomeCoin(Long userId, Long amount, Long businessLogId) { @@ -32,10 +39,11 @@ public class AccountTotalManager { public void incsVideoIncomeCoin(Long userId, Long amount, Long businessLogId) { log.info("开始收入统计 视频: userId={},amount={}, businessLogId={}", userId, amount, businessLogId); accountMapper.incsVideoIncomeIcon(userId, amount); + anchorMapper.incsTotalIcon(userId,amount); } public void incsPayIncomeCoin(Long userId, Long rechargeCoin, BigDecimal price, Long consumeLogId) { - log.info("开始收入统计 充值: userId={},price={},rechargeCoin={}, businessLogId={}", userId, price, rechargeCoin,consumeLogId); + log.info("开始用户充值统计 充值: userId={},price={},rechargeCoin={}, businessLogId={}", userId, price, rechargeCoin,consumeLogId); accountMapper.incsPayTotal(userId, rechargeCoin, price); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AnchorMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AnchorMapper.java index 0772f5c9..a1d41480 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AnchorMapper.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AnchorMapper.java @@ -30,4 +30,6 @@ public interface AnchorMapper extends BaseMapper { boolean incsServiceTimeAndCount(@Param("toUid") Long toUid, @Param("callTime") Long callTime, @Param("count") int count); List anchorStatus(@Param("userList") Set userList); + + void incsTotalIcon(@Param("userId") Long userId, @Param("amount") Long amount); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java index d7b91e75..e51b3b39 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java @@ -123,8 +123,10 @@ public class AnchorServiceImpl extends ServiceImpl impleme @Override public Page pageAppV2(PageQuery pageQuery, AnchorListQuery query) { - if(query.getType() != null && query.getType() != 3){ - query.setCityId(null); + if(query.getType() != null){ + if(query.getType() != 3 && query.getType() != 6){ + query.setCityId(null); + } } if(query.getType() == null){ query.setType(AnchorListQueryTypeEnum.DEFAULT.getCode()); diff --git a/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml index 8e56b87b..0c4a6c2e 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml @@ -88,17 +88,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + update cai_anchor + set anchor_total_coin = anchor_total_coin + #{amount} + where user_id = #{userId} +