Explorar o código

用户行为优化1.0.5

huangzhiguo hai 1 ano
pai
achega
a8c8f0adae

+ 7 - 0
src/main/java/com/caimei365/manager/dao/user/CmMarketShopDao.java

@@ -305,6 +305,13 @@ public interface CmMarketShopDao {
      */
     List<ReturnEntity> getClubType(@Param("accessDate") String accessDate, @Param("labels") List<String> labels);
 
+    /**
+     * 查看是否有正在生效中的预览码
+     * @param marketReportId
+     * @return
+     */
+    String getMarketCode(@Param("marketReportId") Integer marketReportId);
+
     /**
      * 添加预览码
      * @param cmMarketCode

+ 14 - 8
src/main/java/com/caimei365/manager/service/caimei/user/impl/CmMarketShopServiceImpl.java

@@ -296,17 +296,23 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
         instance.add(Calendar.DAY_OF_MONTH, +1);
         Date time = instance.getTime();
         String recordTime = dateFormat.format(time);
-        // 生成验证码
-        Random random = new Random();
-        String code = String.format("%04d", random.nextInt(10000));
+        // 设置返回数据
         CmMarketCode marketCode = new CmMarketCode();
         marketCode.setMarketReportId(id);
-        marketCode.setCode(code);
         marketCode.setRecodeTime(recordTime);
-        // 添加预览码
-        marketShopDao.insertMarketCode(marketCode);
-        // 修改预览码状态
-        marketShopDao.updateMarketCoed(id, marketCode.getId());
+        String oldMarketCode = marketShopDao.getMarketCode(id);
+        if (StringUtils.isEmpty(oldMarketCode) && StringUtils.isBlank(oldMarketCode)) {
+            // 生成预览码
+            Random random = new Random();
+            String code = String.format("%04d", random.nextInt(10000));
+            marketCode.setCode(code);
+            // 添加预览码
+            marketShopDao.insertMarketCode(marketCode);
+            // 修改预览码状态
+            marketShopDao.updateMarketCoed(id, marketCode.getId());
+        } else {
+            marketCode.setCode(oldMarketCode);
+        }
         return ResponseJson.success(marketCode);
     }
 

+ 5 - 1
src/main/resources/mapper/user/CmMarketShopDao.xml

@@ -383,7 +383,11 @@
         GROUP BY c.firstClubType
     </select>
 
-    <insert id="insertMarketCode" keyColumn="id" useGeneratedKeys="true">
+    <select id="getMarketCode" resultType="java.lang.String">
+        select code from cm_market_code where marketReportId = #{marketReportId} and recodeTime <![CDATA[ > ]]> now() and delFlag = 0
+    </select>
+
+    <insert id="insertMarketCode" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
         insert into cm_market_code(marketReportId, code, recodeTime, addTime, delFlag)
         values(#{marketReportId}, #{code}, #{recodeTime}, now(), 0)
     </insert>