浏览代码

新增短连接逻辑

JiangChongBo 2 年之前
父节点
当前提交
73699c3db1

+ 13 - 0
src/main/java/com/caimei/mapper/cmMapper/ClubMapper.java

@@ -60,4 +60,17 @@ public interface ClubMapper {
     //根据id更新authid到V1.7.7版本信息ross挑战赛视频表
     void upVideoAuthByid(Integer clubUserId,Integer authId);
 
+    /**
+     * 查询短链接是否存在
+     */
+    Integer findIdByShortLink(String shortLink);
+
+    /**
+     * 保存短链接信息
+     *
+     * @param markId    短信类型
+     * @param shortLink 短链接
+     * @param url       跳转地址
+     */
+    void insertShortLink(int markId, String shortLink, String url);
 }

+ 9 - 0
src/main/java/com/caimei/service/auth/AuthClubService.java

@@ -77,6 +77,15 @@ public interface AuthClubService {
      */
     ResponseJson saveClubUser(Integer clubUserId, Integer authUserId, String mobile);
 
+    /**
+     * 生成短连接
+     * @param length
+     * @param markId
+     * @param url
+     * @return
+     */
+    String getShortLink(int length, int markId, String url);
+
     /**
      * 删除机构用户
      */

+ 20 - 1
src/main/java/com/caimei/service/auth/impl/AuthClubServiceImpl.java

@@ -187,6 +187,7 @@ public class AuthClubServiceImpl implements AuthClubService {
         //如果活动已经开始了,则用户报名成功后向用户发送短信
         if(null!=authUserId){
             ChallengeActivityVo activityTime = authMapper.getActivityTime(authUserId);
+            String shortLink = getShortLink(8, 3, "activity/challenge");
             //判断活动是否开启
             if(null!=activityTime &&null!=authUserId&&null!=activityTime.getStatus()&&activityTime.getStatus()==1){
                 //获取供应商名称
@@ -199,7 +200,7 @@ public class AuthClubServiceImpl implements AuthClubService {
                 System.out.println();
                 //短信类型:1通知短信,2验证码短信,3营销短信
                 Integer type=3;
-                String conn="[" + authParty + "]尊敬的会员,ROSS视频挑战赛报名通道已开启,点此https://zp.caimei365.com/12/ross/activity/challenge进入ROSS认证通,了解详情。";
+                String conn="[" + authParty + "]尊敬的会员,ROSS视频挑战赛报名通道已开启,点此进入https://zp.caimei365.com/12/ross/"+shortLink+"ROSS认证通,了解详情。";
                 if(StringUtils.isNotEmpty(mobile)){
                     Boolean aBoolean = SmsUtils.sendSms(type, mobile, conn);
                     if(aBoolean){
@@ -212,6 +213,24 @@ public class AuthClubServiceImpl implements AuthClubService {
         }
 
     }
+
+    /**
+     * 生成短链接
+     *
+     * @param length 链接长度
+     * @param markId 跳转类型
+     * @param url    跳转地址
+     */
+    @Override
+    public String getShortLink(int length, int markId, String url) {
+        String shortLink = CodeUtil.generateAccount(length);
+        Integer id = clubMapper.findIdByShortLink(shortLink);
+        if (id != null && id > 0) {
+            getShortLink(length, markId, url);
+        }
+        clubMapper.insertShortLink(markId, shortLink, url);
+        return shortLink;
+    }
     @Override
     public ResponseJson deleteClubUser(Integer clubUserId) {
         clubMapper.deleteClubUser(clubUserId);

+ 9 - 0
src/main/resources/mapper/ClubMapper.xml

@@ -212,4 +212,13 @@
         set authId = #{authId}
         where clubUserId = #{clubUserId}
     </update>
+    <select id="findIdByShortLink" resultType="java.lang.Integer">
+        SELECT id
+        FROM cm_short_link
+        WHERE shortLink = #{shortLink}
+    </select>
+    <insert id="insertShortLink">
+        INSERT INTO cm_short_link (markId, shortLink, jumpLink, createTime)
+        VALUES (#{markId}, #{shortLink}, #{url}, NOW())
+    </insert>
 </mapper>