package com.simple.controller; import com.simple.common.ErrorCode; import com.simple.domain.po.WxCUser; import com.simple.enums.EnumOrderStatus; import com.simple.exception.MallinkException; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; import com.github.pagehelper.PageInfo; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxOrder; import com.simple.service.WxOrderService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import java.util.Map; @RestController @RequestMapping("wxOrder") public class WxOrderController extends BaseController { private Logger logger = Logger.getLogger(WxOrderController.class); @Autowired private WxOrderService wxOrderService; @ApiOperation(value = "提交订单", notes = "{\"couponId\":\"String\"}") @PostMapping("save") public ResultData saveOrder(@RequestBody Map paramMap) { //Assert.notNull(wxOrders.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); String couponIdStr = paramMap.get("couponId"); if (StringUtils.isBlank(couponIdStr)) { return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponId不能为空"); } Long couponId = Long.valueOf(couponIdStr); WxCUser user = getUser(); try { WxOrder order = wxOrderService.saveOrder(user, couponId); return new ResultData(order); }catch (MallinkException e) { logger.error(e.getMessage()); } return new ResultData(); } @ApiOperation("取消订单") @PostMapping("cancel") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "订单ID", required = true, dataType = "Long"), @ApiImplicitParam(name = "cUserId", value = "用户ID", required = true, dataType = "Long") }) public ResultData cancelOrder(@RequestBody WxOrder wxOrder) { //Assert.notNull(wxOrders.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); wxOrderService.updateOrderStatus(wxOrder.getId(), EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL); return new ResultData(); } @ApiOperation("订单过期") @PostMapping("expiring") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "订单ID", required = true, dataType = "Long"), @ApiImplicitParam(name = "cUserId", value = "用户ID", required = true, dataType = "Long") }) public ResultData expiringOrder(@RequestBody WxOrder wxOrder) { //Assert.notNull(wxOrders.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); wxOrderService.updateOrderStatus(wxOrder.getId(), EnumOrderStatus.ORDER_STATUS_PENDING_REFUND); return new ResultData(); } @ApiOperation("订单已过期") @PostMapping("expired") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "订单ID", required = true, dataType = "Long"), @ApiImplicitParam(name = "cUserId", value = "用户ID", required = true, dataType = "Long") }) public ResultData expiredOrder(@RequestBody WxOrder wxOrder) { //Assert.notNull(wxOrders.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); wxOrderService.updateOrderStatus(wxOrder.getId(), EnumOrderStatus.ORDER_STATUS_REFUND_SUCCESS); return new ResultData(); } @ApiOperation("新增接口") @PostMapping("add") public ResultData add(@RequestBody WxOrder wxOrder) { //Assert.notNull(wxOrder.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); wxOrderService.saveOrUpdate(wxOrder); return new ResultData(); } @ApiOperation("根据id更新接口") @PostMapping("update") public ResultData update(@RequestBody WxOrder wxOrder) { wxOrderService.saveOrUpdate(wxOrder); return new ResultData(); } @ApiOperation("根据id删除接口") @GetMapping("/del") @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) public ResultData delete(Long id) { wxOrderService.deleteById(id); return new ResultData(Result.SUCCESS, "删除成功", null); } @ApiOperation("根据id查询接口") @GetMapping("/findById") @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) public ResultData findById(Long id) { return new ResultData(Result.SUCCESS, "查询成功", wxOrderService.getById(id)); } }