不要删除已经购买了的人脸

This commit is contained in:
2025-05-21 17:01:56 +08:00
parent c01ff160c3
commit 9b00b34a68
3 changed files with 9 additions and 5 deletions

View File

@ -36,5 +36,5 @@ public interface FaceMapper {
List<FaceRespVO> listByScenicAndUserId(String scenicId, Long userId); List<FaceRespVO> listByScenicAndUserId(String scenicId, Long userId);
List<FaceEntity> listEntityBeforeDate(Long scenicId, Date endDate); List<FaceEntity> listUnpaidEntityBeforeDate(Long scenicId, Date endDate);
} }

View File

@ -11,7 +11,6 @@ import com.ycwl.basic.mapper.SourceMapper;
import com.ycwl.basic.mapper.VideoMapper; import com.ycwl.basic.mapper.VideoMapper;
import com.ycwl.basic.model.pc.face.entity.FaceEntity; import com.ycwl.basic.model.pc.face.entity.FaceEntity;
import com.ycwl.basic.model.pc.face.req.FaceReqQuery; import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity; import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery; import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery;
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO; import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
@ -107,7 +106,7 @@ public class FaceCleaner {
FaceReqQuery req = new FaceReqQuery(); FaceReqQuery req = new FaceReqQuery();
req.setScenicId(scenic.getId()); req.setScenicId(scenic.getId());
Date faceEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay); Date faceEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay);
List<FaceEntity> list = faceMapper.listEntityBeforeDate(scenic.getId(), faceEndDate); List<FaceEntity> list = faceMapper.listUnpaidEntityBeforeDate(scenic.getId(), faceEndDate);
list.forEach(face -> { list.forEach(face -> {
boolean result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString()); boolean result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString());
if (result) { if (result) {

View File

@ -123,7 +123,12 @@
<select id="test" resultType="com.ycwl.basic.model.pc.face.resp.FaceRespVO"> <select id="test" resultType="com.ycwl.basic.model.pc.face.resp.FaceRespVO">
SELECT * FROM `zt`.`face_sample` WHERE `scenic_id` = '3930324797233434624' AND `create_at` &lt; '2025-03-07 14:40:36' AND `device_id` = '3961959104355897344' SELECT * FROM `zt`.`face_sample` WHERE `scenic_id` = '3930324797233434624' AND `create_at` &lt; '2025-03-07 14:40:36' AND `device_id` = '3961959104355897344'
</select> </select>
<select id="listEntityBeforeDate" resultType="com.ycwl.basic.model.pc.face.entity.FaceEntity"> <select id="listUnpaidEntityBeforeDate" resultType="com.ycwl.basic.model.pc.face.entity.FaceEntity">
SELECT * FROM `zt`.`face` WHERE `scenic_id` = #{scenicId} AND `create_at` &lt; #{endDate} SELECT *
FROM `zt`.`face`
WHERE `scenic_id` = #{scenicId}
AND `create_at` &lt; #{endDate}
and `id` not in (select face_id from member_source where is_buy = 1)
and `id` not in (select face_id from member_video where is_buy = 1)
</select> </select>
</mapper> </mapper>