|
@@ -261,6 +261,52 @@ public class BomanReservatServiceImpl implements IBomanReservatService {
|
|
|
return bomanReservatMapper.deleteBomanReservatByReservatId(reservatId);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 取消预约
|
|
|
+ * @param reservatIds
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int cancel(Long[] reservatIds) {
|
|
|
+ //取消预约,需要修改redis中的预约人数
|
|
|
+ for (Long reservatId : reservatIds) {
|
|
|
+ BomanReservat bomanReservat = bomanReservatMapper.selectBomanReservatByReservatId(reservatId);
|
|
|
+ Long reservatConfigTimeId = bomanReservat.getReservatConfigTimeId();
|
|
|
+ String reservatType = bomanReservat.getReservatType();
|
|
|
+ if ("1".equals(reservatType)) {
|
|
|
+ //判断是团队需要释放名额
|
|
|
+ String key = Constants.RESERVAT_TEAM + bomanReservat.getVisitDate() + "_" + reservatConfigTimeId;
|
|
|
+ Object reservatTeam = redisCache.getCacheObject(key);
|
|
|
+ if (ObjectUtils.isNotEmpty(reservatTeam)) {
|
|
|
+ long reservatTeamNew = (long) reservatTeam - 1;
|
|
|
+ if (reservatTeamNew < 0) {
|
|
|
+ reservatTeamNew = 0;
|
|
|
+ }
|
|
|
+ redisCache.setCacheObject(key, reservatTeamNew, 24, TimeUnit.HOURS);
|
|
|
+ }
|
|
|
+ //判断是不是团队需要接待的续约
|
|
|
+ if ("Y".equals(bomanReservat.getIsReception())) {
|
|
|
+ String keyPersonnel = Constants.RESERVAT_PERSONNEL_NUM + bomanReservat.getVisitDate() + "_" + reservatConfigTimeId;
|
|
|
+ redisCache.deleteObject(keyPersonnel);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //散客
|
|
|
+ String visitNum = bomanReservat.getVisitNum();
|
|
|
+ //去redis找对应日期,对应时段id的预约数量 reservat_num:2023-10-10_1
|
|
|
+ String key = Constants.RESERVAT_NUM + bomanReservat.getVisitDate() + "_" + reservatConfigTimeId;
|
|
|
+ Object reservatNum = redisCache.getCacheObject(key);
|
|
|
+ if (ObjectUtils.isNotEmpty(reservatNum)) {
|
|
|
+ long reservatNumNew = (long) reservatNum - Long.parseLong(visitNum);
|
|
|
+ if (reservatNumNew < 0) {
|
|
|
+ reservatNumNew = 0;
|
|
|
+ }
|
|
|
+ redisCache.setCacheObject(key, reservatNumNew, 24, TimeUnit.HOURS);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return bomanReservatMapper.cancel(reservatIds);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 陵园预约审核
|
|
|
*/
|