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

View File

@ -310,18 +310,20 @@ public class AiServiceImpl implements IAiService {
BusSmsInfo busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum(num);
if(num == null && busSmsInfo1 != null){
redisTemplate.opsForValue().set("limitNum",busSmsInfo1.getLimitNum()+"");
redisTemplate.opsForValue().set("totalNum",busSmsInfo1.getTotalNum()+"");
}
if(busSmsInfo1 == null){
redisTemplate.opsForValue().set("limitNum", "0");
busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum("0");
String totalNum = redisTemplate.opsForValue().get("totalNum");
busSmsInfo1 = busSmsInfoMapper.selectBusSmsInfoByNum(totalNum);
if(busSmsInfo1 == null){
redisTemplate.delete("limitNum");
redisTemplate.delete("totalNum");
log.error("短信余额为空,请充值");
return;
}
}
busSmsInfo.setId(busSmsInfo1.getId());
busSmsInfo.setRechargeNum(busSmsInfo1.getRechargeNum()-1);
busSmsInfo.setRechargeNum(busSmsInfo1.getRechargeNum()+1);
busSmsInfoMapper.updateBusSmsInfo(busSmsInfo);
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="rechargeNum" column="recharge_num" />
<result property="limitNum" column="limit_num" />
<result property="totalNum" column="total_num" />
<result property="createTime" column="create_time" />
<result property="status" column="status" />
<result property="enterpriseId" column="enterpriseId" />
@ -17,7 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<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>
<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="rechargeNum != null "> and recharge_num = #{rechargeNum}</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="enterpriseId != null and enterpriseId != ''"> and enterpriseId = #{enterpriseId}</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">
<include refid="selectBusSmsInfoVo"/>
where status ='1' and recharge_num > 0
<if test="limitNum != null "> and recharge_num > #{limitNum, javaType=String, jdbcType=NUMERIC} </if>
order by recharge_num
where status ='1' and recharge_num &lt; total_num
<if test="limitNum != null "> and recharge_num &lt; #{limitNum, javaType=String, jdbcType=NUMERIC} </if>
order by recharge_num desc
limit 1
</select>
@ -52,6 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="account != null">account,</if>
<if test="rechargeNum != null">recharge_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="status != null">status,</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="rechargeNum != null">#{rechargeNum},</if>
<if test="limitNum != null">#{limitNum},</if>
<if test="totalNum != null">#{totalNum},</if>
<if test="createTime != null">#{createTime},</if>
<if test="status != null">#{status},</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="rechargeNum != null">recharge_num = #{rechargeNum},</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="status != null">status = #{status},</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="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if>
<if test="bindId != null "> and s.bind_id = #{bindId}</if>
ORDER BY s.bind_time desc
</select>
<select id="storeStatisticsExport" resultType="com.ruoyi.business.domain.resp.RespBusStoreInfo">
SELECT
@ -213,6 +214,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sd.last_five_star_reviews_num lastFiveStarReviewsNum,
sd.last_return_visit_num lastReturnVisitNum,
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,
s.bind_time bindTime,
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
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 (
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'
<if test="selfDeliveryStatus != null and selfDeliveryStatus != ''"> and s.self_delivery_status = #{selfDeliveryStatus}</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="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if>
<if test="bindId != null "> and s.bind_id = #{bindId}</if>
ORDER BY s.bind_time desc
</select>
<insert id="insertBusStoreInfo" parameterType="BusStoreInfo" useGeneratedKeys="true" keyProperty="id">