You've already forked FrameTour-BE
- 移除原有的图片裁切功能和userArea字段 - 删除originalImageUrl字段,统一使用resultImageUrl - 添加MemberPuzzleEntity实体类管理会员拼图关联关系 - 创建MemberPuzzleMapper接口及XML映射文件 - 实现PuzzleRelationProcessor处理器负责关联记录创建 - 在拼图生成完成后自动创建会员拼图关联记录 - 添加景区配置中的免费拼图数量设置 - 实现免费拼图逻辑控制 - 更新拼图模板和生成记录的数据结构 - 修改AppPuzzleController中图片URL的获取方式 - 优化PuzzleEdgeRenderTaskService中的图片处理流程
71 lines
2.7 KiB
XML
71 lines
2.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.ycwl.basic.puzzle.mapper.MemberPuzzleMapper">
|
|
|
|
<resultMap id="BaseResultMap" type="com.ycwl.basic.model.pc.puzzle.entity.MemberPuzzleEntity">
|
|
<id column="id" property="id"/>
|
|
<result column="member_id" property="memberId"/>
|
|
<result column="scenic_id" property="scenicId"/>
|
|
<result column="face_id" property="faceId"/>
|
|
<result column="record_id" property="recordId"/>
|
|
<result column="is_buy" property="isBuy"/>
|
|
<result column="order_id" property="orderId"/>
|
|
<result column="is_free" property="isFree"/>
|
|
</resultMap>
|
|
|
|
<sql id="Base_Column_List">
|
|
id, member_id, scenic_id, face_id, record_id, is_buy, order_id, is_free
|
|
</sql>
|
|
|
|
<insert id="addRelation" useGeneratedKeys="true" keyProperty="id">
|
|
INSERT IGNORE INTO member_puzzle(scenic_id, face_id, member_id, record_id, is_buy, order_id, is_free)
|
|
VALUES (#{scenicId}, #{faceId}, #{memberId}, #{recordId}, #{isBuy}, #{orderId}, #{isFree})
|
|
</insert>
|
|
|
|
<insert id="addRelations">
|
|
INSERT IGNORE INTO member_puzzle(scenic_id, face_id, member_id, record_id, is_buy, order_id, is_free)
|
|
VALUES
|
|
<foreach collection="list" item="item" separator=",">
|
|
(#{item.scenicId}, #{item.faceId}, #{item.memberId}, #{item.recordId}, #{item.isBuy}, #{item.orderId}, #{item.isFree})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<select id="listByFaceId" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"/>
|
|
FROM member_puzzle
|
|
WHERE face_id = #{faceId}
|
|
ORDER BY id DESC
|
|
</select>
|
|
|
|
<select id="countFreeByFaceId" resultType="int">
|
|
SELECT COUNT(*) FROM member_puzzle
|
|
WHERE face_id = #{faceId} AND is_free = 1
|
|
</select>
|
|
|
|
<update id="updateRelation">
|
|
UPDATE member_puzzle
|
|
<set>
|
|
<if test="isBuy != null">is_buy = #{isBuy},</if>
|
|
<if test="orderId != null">order_id = #{orderId},</if>
|
|
<if test="isFree != null">is_free = #{isFree},</if>
|
|
</set>
|
|
WHERE id = #{id}
|
|
</update>
|
|
|
|
<update id="freeRelations">
|
|
UPDATE member_puzzle SET is_free = 1
|
|
WHERE id IN
|
|
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</update>
|
|
|
|
<select id="getByFaceAndRecord" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"/>
|
|
FROM member_puzzle
|
|
WHERE face_id = #{faceId} AND record_id = #{recordId}
|
|
LIMIT 1
|
|
</select>
|
|
|
|
</mapper>
|