更新审核活动判断同一时段
This commit is contained in:
parent
0797de321d
commit
5ccccd5ac4
@ -27,7 +27,7 @@ public interface XhpcActivityInternetMapper {
|
||||
|
||||
int checkByPrimaryKey(XhpcActivityInternetDomain record);
|
||||
|
||||
List<XhpcActivityInternetDomain> selectByDateBetween(@Param("startTime")String startTime, @Param("endTime")String endTime);
|
||||
List<XhpcActivityInternetDomain> selectByDateBetween(@Param("internetName")String internetName, @Param("stationList")List<String> stationList, @Param("startTime")String startTime, @Param("endTime")String endTime);
|
||||
|
||||
int updateStatusByExpireNow();
|
||||
}
|
||||
@ -6,12 +6,14 @@ import com.xhpc.activity.mapper.XhpcActivityFormulaMapper;
|
||||
import com.xhpc.activity.mapper.XhpcActivityInternetMapper;
|
||||
import com.xhpc.activity.service.XhpcActivityInternetService;
|
||||
import com.xhpc.common.core.exception.CustomException;
|
||||
import com.xhpc.common.core.utils.StringUtils;
|
||||
import com.xhpc.common.util.DateUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -142,7 +144,13 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ
|
||||
// 同一时间段内只能有一个活动有效
|
||||
String startTime = DateUtil.date2String(internetDomain.getStartTime(), "yyyy-MM-dd");
|
||||
String endTime = DateUtil.date2String(internetDomain.getEndTime(), "yyyy-MM-dd");
|
||||
List<XhpcActivityInternetDomain> domainList = internetMapper.selectByDateBetween(startTime, endTime);
|
||||
|
||||
List<String> stationList = new ArrayList<>();
|
||||
if(StringUtils.isNotEmpty(domain.getStationList()) && !"-1".equals(domain.getStationList())){
|
||||
stationList = Arrays.asList(domain.getStationList().split(","));
|
||||
}
|
||||
|
||||
List<XhpcActivityInternetDomain> domainList = internetMapper.selectByDateBetween(domain.getInternetName(), stationList, startTime, endTime);
|
||||
if(domainList.size() > 0 && domain.getStatus().equals(Short.valueOf("3"))){
|
||||
throw new CustomException("生效时段存在其他已生效的活动");
|
||||
}
|
||||
|
||||
@ -70,6 +70,12 @@
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM `xhpc_activity_internet`
|
||||
WHERE `status` = 3
|
||||
and internet_name = #{internetName}
|
||||
<if test="stationList != null and stationList.size > 0">
|
||||
<foreach collection="stationList" index="index" item="stationId">
|
||||
and find_in_set(#{stationId}, station_list)
|
||||
</foreach>
|
||||
</if>
|
||||
and ((#{startTime} BETWEEN start_time and end_time)
|
||||
OR
|
||||
(#{endTime} BETWEEN start_time and end_time))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user