Переглянути джерело

Merge remote-tracking branch 'origin/developer' into developerA

zhijiezhao 1 місяць тому
батько
коміт
cbc1e85af7

+ 5 - 1
src/main/java/com/caimei365/user/mapper/LoginMapper.java

@@ -240,7 +240,7 @@ public interface LoginMapper {
     TicketPo findTicket(String ticket);
 
     void updateTicket(@Param("userId") Integer userId, @Param("idCard") String idCard, @Param("ticket") String ticket,
-                      @Param("name") String name, @Param("mobile") String mobile, @Param("work") String work);
+                      @Param("name") String name, @Param("mobile") String mobile, @Param("work") String work, @Param("shopIds") String shopIds);
 
     TicketPo findTicketUser(Integer userId);
 
@@ -251,4 +251,8 @@ public interface LoginMapper {
     List<ShopSignPo> findShopSignPos(Integer userId);
 
     ShopSignPo findShopDetail(@Param("shopId") Integer shopId, @Param("userId") Integer userId);
+
+    void insertTicket(@Param("userId") Integer userId, @Param("shopSign") String shopSign);
+
+    void deleteTicketUser(Integer userId);
 }

+ 3 - 0
src/main/java/com/caimei365/user/model/dto/ChatCompletionResponse.java

@@ -76,6 +76,7 @@ public class ChatCompletionResponse {
     }
 
     @Data
+    @JsonIgnoreProperties(ignoreUnknown = true)
     public static class Usage {
 
         @JsonProperty("prompt_tokens_details")
@@ -90,6 +91,8 @@ public class ChatCompletionResponse {
         @JsonProperty("total_tokens")
         private int totalTokens;
 
+        @JsonProperty("search_count")
+        private int searchCount;
         // Getters and setters or Lombok annotations
     }
 }

+ 2 - 0
src/main/java/com/caimei365/user/model/po/ShopSignPo.java

@@ -12,4 +12,6 @@ public class ShopSignPo {
     private String shopIds;
     // 展位号
     private String showNum;
+    // 默认0,领取1
+    private Integer giftFlag;
 }

+ 2 - 0
src/main/java/com/caimei365/user/model/po/TicketPo.java

@@ -4,6 +4,8 @@ import lombok.Data;
 
 @Data
 public class TicketPo {
+
+    private String shopIds;
     /**
      * 1 已绑定 0 未绑定
      */

+ 32 - 12
src/main/java/com/caimei365/user/service/impl/LoginServiceImpl.java

@@ -1656,15 +1656,23 @@ public class LoginServiceImpl implements LoginService {
         }
         TicketPo ticketPo = loginMapper.findTicket(ticket);
         TicketPo ticketUser = loginMapper.findTicketUser(userId);
-        if (null == ticketUser || StringUtils.isBlank(ticketUser.getTicketId())) {
-            if (StringUtils.isBlank(ticketPo.getTicketId())) {
-                return ResponseJson.error(-2, "不存在该票根!");
-            }
-            if (null != ticketPo.getUserId()) {
-                return ResponseJson.error("票根已绑定!");
-            } else {
-                loginMapper.updateTicket(userId, idCard, ticket, name, mobile, work);
-                return ResponseJson.success("绑定成功!");
+        // 现场先签到,未绑票,在签到逻辑中创建的临时用户
+        if (null != ticketUser && StringUtils.isBlank(ticketUser.getTicketId()) && StringUtils.isNotBlank(ticketUser.getShopIds())) {
+            // 删除临时用户,签到记录转移到绑定票根
+            loginMapper.deleteTicketUser(userId);
+            loginMapper.updateTicket(userId, idCard, ticket, name, mobile, work, ticketUser.getShopIds());
+            return ResponseJson.success("绑定成功!");
+        } else {
+            if (null == ticketUser || StringUtils.isBlank(ticketUser.getTicketId())) {
+                if (StringUtils.isBlank(ticketPo.getTicketId())) {
+                    return ResponseJson.error(-2, "不存在该票根!");
+                }
+                if (null != ticketPo.getUserId()) {
+                    return ResponseJson.error("票根已绑定!");
+                } else {
+                    loginMapper.updateTicket(userId, idCard, ticket, name, mobile, work, "");
+                    return ResponseJson.success("绑定成功!");
+                }
             }
         }
         return ResponseJson.error(-3, "您已激活过门票,请勿重复激活!");
@@ -1853,7 +1861,11 @@ public class LoginServiceImpl implements LoginService {
 
     @Override
     public ResponseJson ticketSign(Integer shopId, Integer userId) {
-        String shopSign = loginMapper.findShopSign(userId);
+        TicketPo ticket = loginMapper.findTicketUser(userId);
+        String shopSign = "";
+        if (null != ticket) {
+            shopSign = ticket.getShopIds();
+        }
         if (StringUtils.isBlank(shopSign)) {
             shopSign = shopId.toString();
         } else {
@@ -1862,8 +1874,12 @@ public class LoginServiceImpl implements LoginService {
             }
             shopSign = shopSign + "," + shopId;
         }
-        // 签到
-        loginMapper.updateShopSign(userId, shopSign);
+        if (null == ticket) {
+            loginMapper.insertTicket(userId, shopSign);
+        } else {
+            // 签到
+            loginMapper.updateShopSign(userId, shopSign);
+        }
         return ResponseJson.success("签到成功!");
     }
 
@@ -1896,6 +1912,10 @@ public class LoginServiceImpl implements LoginService {
         TicketPo ticketUser = loginMapper.findTicketUser(userId);
         TicketPo ticketPo = loginMapper.findTicket(ticket);
         Integer flag = null == ticketUser || ticket.equals(ticketUser.getTicketId()) ? 0 : 1;
+        // 游客先签到后绑票允许绑定
+        if (null != ticketUser && StringUtils.isBlank(ticketUser.getTicketId()) && StringUtils.isNotBlank(ticketUser.getShopIds())) {
+            flag = 0;
+        }
         ticketPo.setTicketFlag(flag);
         return ResponseJson.success(ticketPo);
     }

+ 19 - 2
src/main/resources/mapper/LoginMapper.xml

@@ -518,12 +518,13 @@
             name     = #{name},
             mobile   = #{mobile},
             work     = #{work},
+            shopIds  = #{shopIds},
             bindTime = now()
         where ticketId = #{ticket}
     </update>
 
     <select id="findTicketUser" resultType="com.caimei365.user.model.po.TicketPo">
-        select userId, ticketId, idCard
+        select userId, ticketId, idCard, shopIds
         from cm_zyl_ticket
         where userId = #{userId}
     </select>
@@ -541,7 +542,12 @@
     </update>
 
     <select id="findShopSignPos" resultType="com.caimei365.user.model.po.ShopSignPo">
-        SELECT id, shopName, shopLogo, showNum, (SELECT shopIds FROM cm_zyl_ticket where userId = #{userId}) as shopIds
+        SELECT id,
+               shopName,
+               shopLogo,
+               showNum,
+               (SELECT shopIds FROM cm_zyl_ticket where userId = #{userId})  as shopIds,
+               (select giftFlag from cm_zyl_ticket where userId = #{userId}) as giftFlag
         FROM cm_zyl_shop
     </select>
 
@@ -550,4 +556,15 @@
         FROM cm_zyl_shop
         where id = #{shopId}
     </select>
+
+    <insert id="insertTicket">
+        insert into cm_zyl_ticket (userId, shopIds, bindTime)
+        values (#{userId}, #{shopSign},now())
+    </insert>
+
+    <delete id="deleteTicketUser">
+        delete
+        from cm_zyl_ticket
+        where userId = #{userId}
+    </delete>
 </mapper>

+ 1 - 0
src/main/resources/mapper/SuperVipMapper.xml

@@ -6,6 +6,7 @@
         select userId, beginTime, endTime, updateTime
         from cm_svip_user
         where userId = #{#userId}
+        and delflag = 0
     </select>
 
     <select id="findUserBeans" resultType="java.lang.Integer">