refactor mapper xml

This commit is contained in:
Timi
2026-08-12 16:11:08 +08:00
parent 5f36844279
commit ee530d2a8c
31 changed files with 308 additions and 38 deletions
@@ -4,6 +4,7 @@ import com.imyeyu.api.modules.gao.entity.GaoStoreBusinessDay;
import com.imyeyu.spring.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@@ -27,7 +28,7 @@ public interface GaoStoreBusinessDayMapper extends BaseMapper<GaoStoreBusinessDa
/// @param storeId 门店 ID
/// @param dateValue 日期值,格式为 yyyyMMdd
/// @return 营业日序号
@Select("SELECT MAX(`business_day_no`) FROM `gao_store_business_day` WHERE `store_id` = #{storeId} AND `date_value` < #{dateValue} AND `open_status` = 'OPEN' AND `deleted_at` IS NULL")
@Select("SELECT MAX(`business_day_no`) FROM `gao_store_business_day` WHERE `store_id` = #{storeId} AND `date_value` < #{dateValue} AND `status` = 'OPEN' AND `deleted_at` IS NULL")
Long selectLastBusinessDayNoBefore(@Param("storeId") String storeId, @Param("dateValue") Integer dateValue);
/// 查询指定日期及之后的营业日
@@ -35,9 +36,16 @@ public interface GaoStoreBusinessDayMapper extends BaseMapper<GaoStoreBusinessDa
/// @param storeId 门店 ID
/// @param beginDateValue 开始日期值,格式为 yyyyMMdd
/// @return 营业日列表
@Select("SELECT * FROM `gao_store_business_day` WHERE `store_id` = #{storeId} AND `date_value` >= #{beginDateValue} AND `open_status` = 'OPEN' AND `deleted_at` IS NULL ORDER BY `date_value` ASC")
@Select("SELECT * FROM `gao_store_business_day` WHERE `store_id` = #{storeId} AND `date_value` >= #{beginDateValue} AND `status` = 'OPEN' AND `deleted_at` IS NULL ORDER BY `date_value` ASC")
List<GaoStoreBusinessDay> selectOpenListFromDate(@Param("storeId") String storeId, @Param("beginDateValue") Integer beginDateValue);
/// 清空指定日期及之后的营业日序号
///
/// @param storeId 门店 ID
/// @param beginDateValue 开始日期值,格式为 yyyyMMdd
@Update("UPDATE `gao_store_business_day` SET `business_day_no` = NULL, `updated_at` = ROUND(UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) * 1000) WHERE `store_id` = #{storeId} AND `date_value` >= #{beginDateValue} AND `status` = 'OPEN' AND `deleted_at` IS NULL")
void clearBusinessDayNoFromDate(@Param("storeId") String storeId, @Param("beginDateValue") Integer beginDateValue);
/// 查询日期范围内的营业日
///
/// @param storeId 门店 ID
@@ -97,12 +97,11 @@ public class GaoStoreBusinessDayServiceImplement extends AbstractEntityService<G
TimiException.required(storeId, "not found storeId");
TimiException.required(beginDateValue, "not found beginDateValue");
long businessDayNo = TimiJava.defaultIfNull(mapper.selectLastBusinessDayNoBefore(storeId, beginDateValue), 0L);
mapper.clearBusinessDayNoFromDate(storeId, beginDateValue);
for (GaoStoreBusinessDay businessDay : mapper.selectOpenListFromDate(storeId, beginDateValue)) {
businessDayNo++;
if (!Long.valueOf(businessDayNo).equals(businessDay.getBusinessDayNo())) {
businessDay.setBusinessDayNo(businessDayNo);
mapper.update(businessDay);
}
businessDay.setBusinessDayNo(businessDayNo);
mapper.update(businessDay);
eventRecordMapper.updateBusinessDayNoByStoreIdAndRegisteredDateValue(storeId, businessDay.getDateValue(), businessDayNo);
}
}