From 61cc9037a887812963ea0f99b020e296a6268184 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Sun, 27 Apr 2025 13:41:11 +0800
Subject: [PATCH] feat(mall): 增加活动热度排序功能并更新相关配置
---
src/main/resources/mapper/modules/HappyActivityOptionMapper.xml | 8 +++++++-
src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java | 7 ++++---
src/main/resources/application-prod.yml | 31 ++++++++++++++++---------------
src/main/java/cc/mrbird/febs/mall/vo/ApiActivityInfoVo.java | 3 +++
src/main/resources/application-test.yml | 6 +++---
5 files changed, 33 insertions(+), 22 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
index e958db3..2181d6d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -149,9 +149,10 @@
// 使用Stream流操作happyFollows,按照type分类,返回每一个不同type的总数量,并返回一个Map
Map<Integer, Long> typeCountMap = happyFollows.stream()
.collect(Collectors.groupingBy(HappyFollow::getType, Collectors.counting()));
-
- apiActivityVo.setZanCnt(Math.toIntExact(typeCountMap.get(StateUpDownEnum.LIKE.getCode())));
- apiActivityVo.setSendCnt(Math.toIntExact(typeCountMap.get(StateUpDownEnum.SHARE.getCode())));
+ Long zanCnt = ObjectUtil.defaultIfNull(typeCountMap.get(StateUpDownEnum.LIKE.getCode()), 0L);
+ apiActivityVo.setZanCnt(Math.toIntExact(zanCnt));
+ Long sendCnt = ObjectUtil.defaultIfNull(typeCountMap.get(StateUpDownEnum.SHARE.getCode()), 0L);
+ apiActivityVo.setSendCnt(Math.toIntExact(sendCnt));
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityInfoVo.java
index f19dae5..ebd3008 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityInfoVo.java
@@ -44,6 +44,9 @@
@ApiModelProperty(value = "参与人数")
private Integer joinCnt;
+ @ApiModelProperty(value = "热度")
+ private Integer hotCnt;
+
@ApiModelProperty(value = "参与头像")
private List<String> memberAvatars;
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index a610917..89c35c1 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -15,20 +15,20 @@
datasource:
# 数据源-1,名称为 base
base:
- username: blnka
- password: blnka!@#123
+ username: happy_community_365
+ password: happy_community_365!@#
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/db_blnka?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+ url: jdbc:mysql://127.0.0.1:3306/happy_community_365?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
redis:
# Redis数据库索引(默认为 0)
- database: 1
+ database: 2
# Redis服务器地址
host: 127.0.0.1
# Redis服务器连接端口
port: 6279
# Redis 密码
- password: blnka!@#123
+ password: 1234!@#$!QAZ
lettuce:
pool:
# 连接池中的最小空闲连接
@@ -44,8 +44,8 @@
rabbitmq:
host: 127.0.0.1
port: 5672
- username: blnka
- password: blnka123
+ username: xc_rabbit
+ password: xuncong123
publisher-confirm-type: correlated
pay:
@@ -61,15 +61,16 @@
xcx:
wechar_login_url: https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code
- xcx_appid: wxad2fdb2fcad10fb2
- xcx_secret: 9bb58d655bff419feec3a6d948ca8b8d
+ xcx_appid: wxe8454293f5c4c143
+ xcx_secret: 33c3ad513344cf6c16904e5d528b70ea
debug: false
- wecharPaynotifyUrl: http://api.blnka.cn/api/xcxPay/wxpayCallback
- wecharRechargePaynotifyUrl: http://api.blnka.cn/api/xcxPay/rechargeCallBack
- certLocalPath: /home/blnkaCert/apiclient_cert.p12
- wecharpayMchid: 1658958205
- wecharpaySecret: daL341aN5orDt13puXadsAf2rpuXdq4r
- wecharpaySecretV3: daL341aN5orDt13puXadsAf2rpuX12v3
+ wecharPaynotifyUrl: http://happy.csxuncong.com/api/xcxPay/wxpayCallback
+ wecharActivityPaynotifyUrl: http://happy.csxuncong.com/api/xcxPay/activityOrderCallback
+ wecharRechargePaynotifyUrl: http://happy.csxuncong.com/api/xcxPay/rechargeCallBack
+ certLocalPath: /home/cert/apiclient_cert.p12
+ wecharpayMchid: 1714199495
+ wecharpaySecret: kKUSYkP73JiCAzDGu2ZfecJNfhvh3sSc
+ wecharpaySecretV3: 1234567hnggcmyxgs731907666310878
gaodeKey: 95ede7157929f5f6b6c758971be924b1
serviceName: yiyuanshucai
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 5fe31ed..d28f458 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -73,9 +73,9 @@
xcx_appid: wxe8454293f5c4c143
xcx_secret: 33c3ad513344cf6c16904e5d528b70ea
debug: true
- wecharPaynotifyUrl: http://blnka.csxuncong.com/api/xcxPay/wxpayCallback
- wecharActivityPaynotifyUrl: http://blnka.csxuncong.com/api/xcxPay/activityOrderCallback
- wecharRechargePaynotifyUrl: http://blnka.csxuncong.com/api/xcxPay/rechargeCallBack
+ wecharPaynotifyUrl: http://happy.csxuncong.com/api/xcxPay/wxpayCallback
+ wecharActivityPaynotifyUrl: http://happy.csxuncong.com/api/xcxPay/activityOrderCallback
+ wecharRechargePaynotifyUrl: http://happy.csxuncong.com/api/xcxPay/rechargeCallBack
certLocalPath: /home/cert/apiclient_cert.p12
wecharpayMchid: 1714199495
wecharpaySecret: kKUSYkP73JiCAzDGu2ZfecJNfhvh3sSc
diff --git a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
index 699c95e..a4f9cf7 100644
--- a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
+++ b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -30,7 +30,13 @@
</if>
</if>
</where>
- order by a.order_cnt asc, a.id desc
+ <if test="record.hotState != null">
+ order by (select count(id) from happy_follow where source_id = a.id and type in (2,3)) desc,a.order_cnt asc
+ </if>
+ <if test="record.hotState == null">
+ order by a.order_cnt asc,a.id desc
+ </if>
+
</select>
<select id="getVoteRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiVoteRecordInPageVo">
--
Gitblit v1.9.1