| @@ -6,6 +6,7 @@ import com.iformall.common.ResultData; | |||||
| import com.iformall.controller.base.BaseController; | import com.iformall.controller.base.BaseController; | ||||
| import com.iformall.domain.po.WxCouponOrderReservation; | import com.iformall.domain.po.WxCouponOrderReservation; | ||||
| import com.iformall.domain.po.base.BaseEntity; | import com.iformall.domain.po.base.BaseEntity; | ||||
| import com.iformall.enums.EnumCouponOrderReservationStatus; | |||||
| import com.iformall.service.WxCouponOrderReservationService; | import com.iformall.service.WxCouponOrderReservationService; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiImplicitParam; | import io.swagger.annotations.ApiImplicitParam; | ||||
| @@ -60,6 +61,16 @@ public class WxCouponOrderReservationController extends BaseController { | |||||
| if(reservation.getId() == null || reservation.getStatus() == null) { | if(reservation.getId() == null || reservation.getStatus() == null) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_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(); | WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | ||||
| updReservation.updateTenantInfo(getTenantInfo()); | updReservation.updateTenantInfo(getTenantInfo()); | ||||
| updReservation.setId(reservation.getId()); | updReservation.setId(reservation.getId()); | ||||
| @@ -25,7 +25,7 @@ CREATE TABLE `wx_coupon_order_reservation` ( | |||||
| `merchant_id` bigint(20) DEFAULT NULL, | `merchant_id` bigint(20) DEFAULT NULL, | ||||
| `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, | `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, | ||||
| `update_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, | PRIMARY KEY (`id`) USING BTREE, | ||||
| UNIQUE INDEX `id_UNIQUE`(`id`) USING BTREE, | UNIQUE INDEX `id_UNIQUE`(`id`) USING BTREE, | ||||
| UNIQUE INDEX `coupon_order_id`(`coupon_order_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.beans.factory.annotation.Autowired; | ||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
| import java.util.List; | |||||
| @RestController | @RestController | ||||
| @RequestMapping("/api/wxCouponOrderReservation") | @RequestMapping("/api/wxCouponOrderReservation") | ||||
| @Api(description = "查询预约接口") | @Api(description = "查询预约接口") | ||||
| @@ -60,7 +62,8 @@ public class WxCouponOrderReservationController extends BaseController { | |||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| }) | }) | ||||
| public ResultData saveOrUpdate(@RequestBody WxCouponOrderReservation reservation) { | public ResultData saveOrUpdate(@RequestBody WxCouponOrderReservation reservation) { | ||||
| reservation.updateTenantInfo(getTenantInfo()); | |||||
| reservation.setcUserId(getMemberId()); | |||||
| if(reservation.getId() == null){ | if(reservation.getId() == null){ | ||||
| if(reservation.getStartDate() == null){ | if(reservation.getStartDate() == null){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"startDate is 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){ | if(reservation.getEndDate() == null){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"endDate is 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){ | if(reservation.getCouponOrderId() == null){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"couponOrderId is null"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"couponOrderId is null"); | ||||
| } | } | ||||
| reservation.updateTenantInfo(getTenantInfo()); | |||||
| reservation.setcUserId(getMemberId()); | |||||
| return wxCouponOrderReservationService.saveOrUpdate(reservation); | return wxCouponOrderReservationService.saveOrUpdate(reservation); | ||||
| } | } | ||||
| @@ -87,6 +100,17 @@ public class WxCouponOrderReservationController extends BaseController { | |||||
| if(reservation.getId() == null) { | if(reservation.getId() == null) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_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(); | WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | ||||
| updReservation.updateTenantInfo(getTenantInfo()); | updReservation.updateTenantInfo(getTenantInfo()); | ||||
| updReservation.setId(reservation.getId()); | updReservation.setId(reservation.getId()); | ||||
| @@ -1,11 +1,14 @@ | |||||
| package com.iformall.enums; | package com.iformall.enums; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| /** | /** | ||||
| * Created by Stormeye on 2018/08/09. | * Created by Stormeye on 2018/08/09. | ||||
| */ | */ | ||||
| public enum EnumCouponOrderReservationStatus { | public enum EnumCouponOrderReservationStatus { | ||||
| // 0-可投放;1-已作废; | |||||
| // | |||||
| reservation(0, "预约"), | reservation(0, "预约"), | ||||
| reservation_user_cancellation(1, "用户取消"), | reservation_user_cancellation(1, "用户取消"), | ||||
| reservation_expire_cancellation(2, "过期取消"), | reservation_expire_cancellation(2, "过期取消"), | ||||
| @@ -13,9 +16,9 @@ public enum EnumCouponOrderReservationStatus { | |||||
| reservation_refuse_cancellation(4, "拒绝服务"), | reservation_refuse_cancellation(4, "拒绝服务"), | ||||
| reservation_dispatch(5, "已派单"), | reservation_dispatch(5, "已派单"), | ||||
| reservation_refuse_dispatch(6, "派单被拒绝"), | 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) { | public static EnumCouponOrderReservationStatus getEnum(Integer code) { | ||||
| @@ -42,4 +45,18 @@ public enum EnumCouponOrderReservationStatus { | |||||
| public String getMessage() { | public String getMessage() { | ||||
| return message; | 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 | * @return | ||||
| */ | */ | ||||
| WxCouponOrderReservation getById(Long id,String tenantId); | 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); | return wxCouponOrderReservationMapper.selectById(id,tenantId); | ||||
| } | } | ||||
| @Override | |||||
| public WxCouponOrderReservation getSortByCouponOrder(Long id, String tenantId) { | |||||
| return wxCouponOrderReservationMapper.getSortByCouponOrder(id,tenantId); | |||||
| } | |||||
| @Override | @Override | ||||
| public ResultData saveOrUpdate(WxCouponOrderReservation record) { | public ResultData saveOrUpdate(WxCouponOrderReservation record) { | ||||
| if(record.getCouponOrderId() != null){ | if(record.getCouponOrderId() != null){ | ||||
| @@ -132,7 +137,7 @@ public class WxCouponOrderReservationServiceImpl implements WxCouponOrderReserva | |||||
| WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | WxCouponOrderReservation updReservation = new WxCouponOrderReservation(); | ||||
| updReservation.setId(id); | updReservation.setId(id); | ||||
| updReservation.updateTenantInfo(couponOrder); | updReservation.updateTenantInfo(couponOrder); | ||||
| updReservation.setStatus(EnumCouponOrderReservationStatus.reservation_finish_cancellation.getCode()); | |||||
| updReservation.setStatus(EnumCouponOrderReservationStatus.reservation_finish.getCode()); | |||||
| if(couponOrder.getBUserId() != null && couponOrder.getBMerchantId() != 0){ | if(couponOrder.getBUserId() != null && couponOrder.getBMerchantId() != 0){ | ||||
| updReservation.setBuserId(couponOrder.getBMerchantId()); | updReservation.setBuserId(couponOrder.getBMerchantId()); | ||||
| } | } | ||||