GroupsMapper.java 1.6 KB

123456789101112131415161718192021222324252627282930
  1. package com.cyksj.mapper;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.cyksj.model.entity.AccountDoubleVerifyRecord;
  4. import com.cyksj.model.entity.GroupsTrips;
  5. import org.apache.ibatis.annotations.Select;
  6. import org.apache.ibatis.annotations.Update;
  7. import java.util.List;
  8. /**
  9. * @author chan
  10. * @date 2022/9/27 4:24 PM
  11. */
  12. public interface GroupsMapper extends BaseMapper<GroupsTrips> {
  13. @Update("update groups_trips set available_num = available_num - 1 where id = #{groupId} and available_num > 0")
  14. int decrAvailableNum(Long groupId);
  15. @Update("update groups_trips set available_num = available_num + 1 where id = #{groupId} and available_num < num")
  16. int incrAvailableNum(Long groupId);
  17. @Select("select count(*) from groups_trips where sku_id = #{skuId} and num = available_num")
  18. Integer selectEmptyNetfilxTrips(Long skuId);
  19. @Select("select gt.* from (select a.account,t.account_id,t.id as groups_id,t.sku_id,t.num from account a inner join groups_trips t on a.id = t.account_id where t.sku_id in (select id from goods_don_sku where goods_id = #{goodsId} and status is true) and t.num > 1 and a.api_secret = '') gt" +
  20. " where gt.num = (select count(*) from groups_relation gr where gr.groups_id = gt.groups_id and gr.`status` = 'validity')" +
  21. " and not EXISTS (select account_id from account_double_verify_record where account_id = gt.account_id and deleted is true)" +
  22. " and DATE_SUB(now(),INTERVAL 3 day) >= (select max(update_time) from groups_relation gr where gr.groups_id = gt.groups_id and gr.`status` = 'validity')")
  23. List<AccountDoubleVerifyRecord> selectGPTDoubleVerifyTrips(Long goodsId);
  24. }