| @@ -6,6 +6,7 @@ import com.iformall.common.ResultData; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.WxCouponOrderReservation; | |||
| import com.iformall.domain.po.base.BaseEntity; | |||
| import com.iformall.enums.EnumCouponOrderReservationStatus; | |||
| import com.iformall.service.WxCouponOrderReservationService; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| @@ -60,6 +61,16 @@ public class WxCouponOrderReservationController extends BaseController { | |||
| if(reservation.getId() == null || reservation.getStatus() == null) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||
| } | |||
| if(EnumCouponOrderReservationStatus.reservation_dispatch.getCode().equals(reservation.getStatus())){ | |||
| WxCouponOrderReservation sortReservation = wxCouponOrderReservationService.getSortByCouponOrder(reservation.getId(), getTenantInfo().getTenantId()); | |||
| if(sortReservation == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"id is error"); | |||
| } | |||
| if(!EnumCouponOrderReservationStatus.reservation.getCode().equals(sortReservation.getStatus())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"预约单状态不支持派单"); | |||
| } | |||
| } | |||
| WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | |||
| updReservation.updateTenantInfo(getTenantInfo()); | |||
| updReservation.setId(reservation.getId()); | |||
| @@ -25,7 +25,7 @@ CREATE TABLE `wx_coupon_order_reservation` ( | |||
| `merchant_id` bigint(20) DEFAULT NULL, | |||
| `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, | |||
| `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, | |||
| `is_del` smallint(1) NOT NULL, | |||
| `is_del` smallint(1) NOT NULL DEFAULT 0, | |||
| PRIMARY KEY (`id`) USING BTREE, | |||
| UNIQUE INDEX `id_UNIQUE`(`id`) USING BTREE, | |||
| UNIQUE INDEX `coupon_order_id`(`coupon_order_id`) USING BTREE | |||
| @@ -14,6 +14,8 @@ import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import java.util.List; | |||
| @RestController | |||
| @RequestMapping("/api/wxCouponOrderReservation") | |||
| @Api(description = "查询预约接口") | |||
| @@ -60,7 +62,8 @@ public class WxCouponOrderReservationController extends BaseController { | |||
| @ApiImplicitParams({ | |||
| }) | |||
| public ResultData saveOrUpdate(@RequestBody WxCouponOrderReservation reservation) { | |||
| reservation.updateTenantInfo(getTenantInfo()); | |||
| reservation.setcUserId(getMemberId()); | |||
| if(reservation.getId() == null){ | |||
| if(reservation.getStartDate() == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"startDate is null"); | |||
| @@ -68,12 +71,22 @@ public class WxCouponOrderReservationController extends BaseController { | |||
| if(reservation.getEndDate() == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"endDate is null"); | |||
| } | |||
| }else{ | |||
| WxCouponOrderReservation sortReservation = wxCouponOrderReservationService.getSortByCouponOrder(reservation.getId(), reservation.getTenantId()); | |||
| if(sortReservation == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"id is error"); | |||
| } | |||
| if(EnumCouponOrderReservationStatus.getReservationIng().contains(sortReservation.getStatus())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"预约单进行中"); | |||
| } | |||
| if(EnumCouponOrderReservationStatus.getReservationFinish().contains(sortReservation.getStatus())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"预约单已完成"); | |||
| } | |||
| } | |||
| if(reservation.getCouponOrderId() == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"couponOrderId is null"); | |||
| } | |||
| reservation.updateTenantInfo(getTenantInfo()); | |||
| reservation.setcUserId(getMemberId()); | |||
| return wxCouponOrderReservationService.saveOrUpdate(reservation); | |||
| } | |||
| @@ -87,6 +100,17 @@ public class WxCouponOrderReservationController extends BaseController { | |||
| if(reservation.getId() == null) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||
| } | |||
| WxCouponOrderReservation sortReservation = wxCouponOrderReservationService.getSortByCouponOrder(reservation.getId(), reservation.getTenantId()); | |||
| if(sortReservation == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"id is error"); | |||
| } | |||
| if(EnumCouponOrderReservationStatus.getReservationIng().contains(sortReservation.getStatus())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"预约单进行中"); | |||
| } | |||
| if(EnumCouponOrderReservationStatus.getReservationFinish().contains(sortReservation.getStatus())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"预约单已完成"); | |||
| } | |||
| WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | |||
| updReservation.updateTenantInfo(getTenantInfo()); | |||
| updReservation.setId(reservation.getId()); | |||
| @@ -1,11 +1,14 @@ | |||
| package com.iformall.enums; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| /** | |||
| * Created by Stormeye on 2018/08/09. | |||
| */ | |||
| public enum EnumCouponOrderReservationStatus { | |||
| // 0-可投放;1-已作废; | |||
| // | |||
| reservation(0, "预约"), | |||
| reservation_user_cancellation(1, "用户取消"), | |||
| reservation_expire_cancellation(2, "过期取消"), | |||
| @@ -13,9 +16,9 @@ public enum EnumCouponOrderReservationStatus { | |||
| reservation_refuse_cancellation(4, "拒绝服务"), | |||
| reservation_dispatch(5, "已派单"), | |||
| reservation_refuse_dispatch(6, "派单被拒绝"), | |||
| reservation_accept_cancellation(7, "派单已接受"), | |||
| reservation_finish_cancellation(8, "服务已完成"), | |||
| reservation_evaluate_cancellation(9, "服务已评价"), | |||
| reservation_accept_dispatch(7, "派单已接受"), | |||
| reservation_finish(8, "服务已完成"), | |||
| reservation_evaluate(9, "服务已评价"), | |||
| ; | |||
| public static EnumCouponOrderReservationStatus getEnum(Integer code) { | |||
| @@ -42,4 +45,18 @@ public enum EnumCouponOrderReservationStatus { | |||
| public String getMessage() { | |||
| return message; | |||
| } | |||
| public static List<Integer> getReservationIng(){ | |||
| List<Integer> list = new ArrayList<>(); | |||
| list.add(reservation_dispatch.code); | |||
| list.add(reservation_accept_dispatch.code); | |||
| return list; | |||
| } | |||
| public static List<Integer> getReservationFinish(){ | |||
| List<Integer> list = new ArrayList<>(); | |||
| list.add(reservation_finish.code); | |||
| list.add(reservation_evaluate.code); | |||
| return list; | |||
| } | |||
| } | |||
| @@ -25,6 +25,9 @@ public interface WxCouponOrderReservationService { | |||
| * @return | |||
| */ | |||
| WxCouponOrderReservation getById(Long id,String tenantId); | |||
| WxCouponOrderReservation getSortByCouponOrder(Long id,String tenantId); | |||
| /** | |||
| * 保存或更新实体 | |||
| @@ -43,6 +43,11 @@ public class WxCouponOrderReservationServiceImpl implements WxCouponOrderReserva | |||
| return wxCouponOrderReservationMapper.selectById(id,tenantId); | |||
| } | |||
| @Override | |||
| public WxCouponOrderReservation getSortByCouponOrder(Long id, String tenantId) { | |||
| return wxCouponOrderReservationMapper.getSortByCouponOrder(id,tenantId); | |||
| } | |||
| @Override | |||
| public ResultData saveOrUpdate(WxCouponOrderReservation record) { | |||
| if(record.getCouponOrderId() != null){ | |||
| @@ -132,7 +137,7 @@ public class WxCouponOrderReservationServiceImpl implements WxCouponOrderReserva | |||
| WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | |||
| updReservation.setId(id); | |||
| updReservation.updateTenantInfo(couponOrder); | |||
| updReservation.setStatus(EnumCouponOrderReservationStatus.reservation_finish_cancellation.getCode()); | |||
| updReservation.setStatus(EnumCouponOrderReservationStatus.reservation_finish.getCode()); | |||
| if(couponOrder.getBUserId() != null && couponOrder.getBMerchantId() != 0){ | |||
| updReservation.setBuserId(couponOrder.getBMerchantId()); | |||
| } | |||