1; 短信渠道加本地限额设置

2;店铺数据排序
This commit is contained in:
wangshuai 2024-08-06 17:57:07 +08:00
parent 77ffd6989d
commit a5a98017e3
4 changed files with 44 additions and 14 deletions

View File

@ -24,11 +24,15 @@ public class BusSmsInfo extends BaseEntity
/** 充值 */ /** 充值 */
@Excel(name = "充值") @Excel(name = "充值")
private Long rechargeNum; private Integer rechargeNum;
/** 限额 */ /** 限额 */
@Excel(name = "限额") @Excel(name = "限额")
private Long limitNum; private Integer limitNum;
/** 总额 */
@Excel(name = "总额")
private Integer totalNum;
/** 状态 */ /** 状态 */
@Excel(name = "状态") @Excel(name = "状态")
@ -64,24 +68,33 @@ public class BusSmsInfo extends BaseEntity
{ {
return account; return account;
} }
public void setRechargeNum(Long rechargeNum) public void setRechargeNum(Integer rechargeNum)
{ {
this.rechargeNum = rechargeNum; this.rechargeNum = rechargeNum;
} }
public Long getRechargeNum() public Integer getRechargeNum()
{ {
return rechargeNum; return rechargeNum;
} }
public void setLimitNum(Long limitNum) public void setLimitNum(Integer limitNum)
{ {
this.limitNum = limitNum; this.limitNum = limitNum;
} }
public Long getLimitNum() public Integer getLimitNum()
{ {
return limitNum; return limitNum;
} }
public Integer getTotalNum() {
return totalNum;
}
public void setTotalNum(Integer totalNum) {
this.totalNum = totalNum;
}
public void setStatus(String status) public void setStatus(String status)
{ {
this.status = status; this.status = status;
@ -126,6 +139,7 @@ public class BusSmsInfo extends BaseEntity
.append("account", getAccount()) .append("account", getAccount())
.append("rechargeNum", getRechargeNum()) .append("rechargeNum", getRechargeNum())
.append("limitNum", getLimitNum()) .append("limitNum", getLimitNum())
.append("totalNum", getTotalNum())
.append("createTime", getCreateTime()) .append("createTime", getCreateTime())
.append("status", getStatus()) .append("status", getStatus())
.append("enterpriseId", getEnterpriseId()) .append("enterpriseId", getEnterpriseId())

View File

@ -310,18 +310,20 @@ public class AiServiceImpl implements IAiService {
BusSmsInfo busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum(num); BusSmsInfo busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum(num);
if(num == null && busSmsInfo1 != null){ if(num == null && busSmsInfo1 != null){
redisTemplate.opsForValue().set("limitNum",busSmsInfo1.getLimitNum()+""); redisTemplate.opsForValue().set("limitNum",busSmsInfo1.getLimitNum()+"");
redisTemplate.opsForValue().set("totalNum",busSmsInfo1.getTotalNum()+"");
} }
if(busSmsInfo1 == null){ if(busSmsInfo1 == null){
redisTemplate.opsForValue().set("limitNum", "0"); String totalNum = redisTemplate.opsForValue().get("totalNum");
busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum("0"); busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum(totalNum);
if(busSmsInfo1 == null){ if(busSmsInfo1 == null){
redisTemplate.delete("limitNum"); redisTemplate.delete("limitNum");
redisTemplate.delete("totalNum");
log.error("短信余额为空,请充值"); log.error("短信余额为空,请充值");
return; return;
} }
} }
busSmsInfo.setId(busSmsInfo1.getId()); busSmsInfo.setId(busSmsInfo1.getId());
busSmsInfo.setRechargeNum(busSmsInfo1.getRechargeNum()-1); busSmsInfo.setRechargeNum(busSmsInfo1.getRechargeNum()+1);
busSmsInfoMapper.updateBusSmsInfo(busSmsInfo); busSmsInfoMapper.updateBusSmsInfo(busSmsInfo);
String phoneNo = busOrderInfo.getPrivcyPhone().split(",")[0];//#分机号# String phoneNo = busOrderInfo.getPrivcyPhone().split(",")[0];//#分机号#

View File

@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="account" column="account" /> <result property="account" column="account" />
<result property="rechargeNum" column="recharge_num" /> <result property="rechargeNum" column="recharge_num" />
<result property="limitNum" column="limit_num" /> <result property="limitNum" column="limit_num" />
<result property="totalNum" column="total_num" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="enterpriseId" column="enterpriseId" /> <result property="enterpriseId" column="enterpriseId" />
@ -17,7 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectBusSmsInfoVo"> <sql id="selectBusSmsInfoVo">
select id, account, recharge_num, limit_num, create_time, status, enterpriseId, appId, appKey from bus_sms_info select id, account, recharge_num, limit_num,total_num, create_time, status, enterpriseId, appId, appKey from bus_sms_info
</sql> </sql>
<select id="selectBusSmsInfoList" parameterType="BusSmsInfo" resultMap="BusSmsInfoResult"> <select id="selectBusSmsInfoList" parameterType="BusSmsInfo" resultMap="BusSmsInfoResult">
@ -26,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="account != null and account != ''"> and account = #{account}</if> <if test="account != null and account != ''"> and account = #{account}</if>
<if test="rechargeNum != null "> and recharge_num = #{rechargeNum}</if> <if test="rechargeNum != null "> and recharge_num = #{rechargeNum}</if>
<if test="limitNum != null "> and limit_num = #{limitNum}</if> <if test="limitNum != null "> and limit_num = #{limitNum}</if>
<if test="totalNum != null "> and total_num = #{totalNum}</if>
<if test="status != null and status != ''"> and status = #{status}</if> <if test="status != null and status != ''"> and status = #{status}</if>
<if test="enterpriseId != null and enterpriseId != ''"> and enterpriseId = #{enterpriseId}</if> <if test="enterpriseId != null and enterpriseId != ''"> and enterpriseId = #{enterpriseId}</if>
<if test="appId != null and appId != ''"> and appId = #{appId}</if> <if test="appId != null and appId != ''"> and appId = #{appId}</if>
@ -40,9 +42,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectBusSmsInfoByNum" resultMap="BusSmsInfoResult" parameterType="String"> <select id="selectBusSmsInfoByNum" resultMap="BusSmsInfoResult" parameterType="String">
<include refid="selectBusSmsInfoVo"/> <include refid="selectBusSmsInfoVo"/>
where status ='1' and recharge_num > 0 where status ='1' and recharge_num &lt; total_num
<if test="limitNum != null "> and recharge_num > #{limitNum, javaType=String, jdbcType=NUMERIC} </if> <if test="limitNum != null "> and recharge_num &lt; #{limitNum, javaType=String, jdbcType=NUMERIC} </if>
order by recharge_num order by recharge_num desc
limit 1 limit 1
</select> </select>
@ -52,6 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="account != null">account,</if> <if test="account != null">account,</if>
<if test="rechargeNum != null">recharge_num,</if> <if test="rechargeNum != null">recharge_num,</if>
<if test="limitNum != null">limit_num,</if> <if test="limitNum != null">limit_num,</if>
<if test="totalNum != null">total_num,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
<if test="enterpriseId != null">enterpriseId,</if> <if test="enterpriseId != null">enterpriseId,</if>
@ -62,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="account != null">#{account},</if> <if test="account != null">#{account},</if>
<if test="rechargeNum != null">#{rechargeNum},</if> <if test="rechargeNum != null">#{rechargeNum},</if>
<if test="limitNum != null">#{limitNum},</if> <if test="limitNum != null">#{limitNum},</if>
<if test="totalNum != null">#{totalNum},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
<if test="enterpriseId != null">#{enterpriseId},</if> <if test="enterpriseId != null">#{enterpriseId},</if>
@ -76,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="account != null">account = #{account},</if> <if test="account != null">account = #{account},</if>
<if test="rechargeNum != null">recharge_num = #{rechargeNum},</if> <if test="rechargeNum != null">recharge_num = #{rechargeNum},</if>
<if test="limitNum != null">limit_num = #{limitNum},</if> <if test="limitNum != null">limit_num = #{limitNum},</if>
<if test="totalNum != null">total_num = #{totalNum},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="enterpriseId != null">enterpriseId = #{enterpriseId},</if> <if test="enterpriseId != null">enterpriseId = #{enterpriseId},</if>

View File

@ -186,6 +186,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="returnVisitStatus != null and returnVisitStatus != ''"> and s.return_visit_status = #{returnVisitStatus}</if> <if test="returnVisitStatus != null and returnVisitStatus != ''"> and s.return_visit_status = #{returnVisitStatus}</if>
<if test="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if> <if test="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if>
<if test="bindId != null "> and s.bind_id = #{bindId}</if> <if test="bindId != null "> and s.bind_id = #{bindId}</if>
ORDER BY s.bind_time desc
</select> </select>
<select id="storeStatisticsExport" resultType="com.ruoyi.business.domain.resp.RespBusStoreInfo"> <select id="storeStatisticsExport" resultType="com.ruoyi.business.domain.resp.RespBusStoreInfo">
SELECT SELECT
@ -213,6 +214,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sd.last_five_star_reviews_num lastFiveStarReviewsNum, sd.last_five_star_reviews_num lastFiveStarReviewsNum,
sd.last_return_visit_num lastReturnVisitNum, sd.last_return_visit_num lastReturnVisitNum,
ifnull(round((sd.last_positive_reviews_num/sd.last_return_visit_num)*100,2),0) as lastReturnVisitRate, ifnull(round((sd.last_positive_reviews_num/sd.last_return_visit_num)*100,2),0) as lastReturnVisitRate,
ifnull(sdd.ct,0) todayReturnVisitNum,
ifnull(sd.score,'-') score, ifnull(sd.score,'-') score,
s.bind_time bindTime, s.bind_time bindTime,
CONCAT(sc.min_order_num,'~',sc.max_order_num) returnVisitUserRange, CONCAT(sc.min_order_num,'~',sc.max_order_num) returnVisitUserRange,
@ -225,6 +227,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bus_store_info s bus_store_info s
LEFT JOIN bus_store_day_info sd ON s.id = sd.store_id LEFT JOIN bus_store_day_info sd ON s.id = sd.store_id
LEFT JOIN bus_store_config_info sc ON s.store_code = sc.store_code LEFT JOIN bus_store_config_info sc ON s.store_code = sc.store_code
LEFT JOIN (
select rv.store_code,count(rv.id) ct
from bus_return_visit_info rv
where rv.return_visit_time between CONCAT(CURDATE(), ' 00:00:00') AND CONCAT(CURDATE(), ' 23:59:59')
group by rv.store_code
) sdd ON sdd.store_code = s.store_code
where s.self_delivery_status != '3' where s.self_delivery_status != '3'
<if test="selfDeliveryStatus != null and selfDeliveryStatus != ''"> and s.self_delivery_status = #{selfDeliveryStatus}</if> <if test="selfDeliveryStatus != null and selfDeliveryStatus != ''"> and s.self_delivery_status = #{selfDeliveryStatus}</if>
<if test="saleBindId != null "> and s.sale_bind_id = #{saleBindId}</if> <if test="saleBindId != null "> and s.sale_bind_id = #{saleBindId}</if>
@ -270,6 +278,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="returnVisitStatus != null and returnVisitStatus != ''"> and s.return_visit_status = #{returnVisitStatus}</if> <if test="returnVisitStatus != null and returnVisitStatus != ''"> and s.return_visit_status = #{returnVisitStatus}</if>
<if test="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if> <if test="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if>
<if test="bindId != null "> and s.bind_id = #{bindId}</if> <if test="bindId != null "> and s.bind_id = #{bindId}</if>
ORDER BY s.bind_time desc
</select> </select>
<insert id="insertBusStoreInfo" parameterType="BusStoreInfo" useGeneratedKeys="true" keyProperty="id"> <insert id="insertBusStoreInfo" parameterType="BusStoreInfo" useGeneratedKeys="true" keyProperty="id">