From b164157bd6388ff6ca3d483ecb31876158a444e8 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Thu, 21 Feb 2019 16:33:02 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=8B=BC=E5=9B=A2][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E5=8E=BB=E6=8B=BC=E5=9B=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxOrderGroupController.java | 23 +++++++++- .../com/iformall/mapper/WxOrderMapper.java | 2 + .../iformall/service/WxOrderGroupService.java | 2 + .../service/impl/WxOrderGroupServiceImpl.java | 44 +++++++++++++++++-- .../main/resources/mapper/WxOrderMapper.xml | 4 ++ 5 files changed, 71 insertions(+), 4 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java index 907b67c05..cc94d08d6 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java @@ -69,7 +69,28 @@ public class WxOrderGroupController extends BaseController { return new ResultData(page); } - @ApiOperation(value = "拼团状态") + @ApiOperation(value = "去拼团") + @GetMapping("toOrderGroup") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderId", value = "orderId", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "couponId", value = "couponId", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true), + }) + public ResultData toOrderGroup(@ModelAttribute WxOrderGroup wxOrderGroup) { + if (wxOrderGroup.getId() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id不能为空"); + } + if (wxOrderGroup.getCouponId() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponId不能为空"); + } + if (wxOrderGroup.getOrderId() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); + } + wxOrderGroup.setTenantId(getTenantId()); + return wxOrderGroupService.toOrderGroup(wxOrderGroup); + } + + @ApiOperation(value = "查询拼团状态") @GetMapping("queryOrderGroupStatus") @ApiImplicitParams({ @ApiImplicitParam(name = "orderId", value = "orderId", dataType = "Long", paramType = "query", required = true), diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index 5e029389e..a842baf02 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -42,4 +42,6 @@ public interface WxOrderMapper extends CommonMapper { WxOrderCouponPressVo selectDetailOfPress(WxOrder wxOrder); void updateStatusByPressCouponId(WxOrder wxOrder); + void updateStatusByOrderGroupId(WxOrder order); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java index 0496db148..45c5bb72f 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java @@ -19,6 +19,8 @@ public interface WxOrderGroupService { PageInfo> queryOrderGroup(WxOrder wxOrder, Integer pageNum, Integer pageSize); + ResultData toOrderGroup(WxOrderGroup wxOrderGroup); + ResultData queryOrderGroupStatus(WxOrderGroup wxOrderGroup); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java index 3e72da47b..b1503630b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java @@ -7,6 +7,7 @@ import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; +import com.iformall.enums.EnumCouponStatus; import com.iformall.enums.EnumOrderStatus; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; @@ -24,6 +25,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @author gongbiao @@ -152,7 +154,7 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService { } @Override - public ResultData queryOrderGroupStatus(WxOrderGroup wxOrderGroup) { + public ResultData toOrderGroup(WxOrderGroup wxOrderGroup) { WxOrder wxOrder = new WxOrder(); wxOrder.setId(wxOrderGroup.getOrderId()); List> couponOrderGroupList = wxOrderGroupMapper.queryOrderGroup(wxOrder); @@ -176,9 +178,45 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService { } WxCUser user = new WxCUser(); user.setIds(ids); - List userList = wxCUserMapper.findList(user); + List userList = wxCUserMapper.findList(user).stream().map(u -> { + WxCUser temp = new WxCUser(); + temp.setId(u.getId()); + temp.setNickName(u.getNickName()); + temp.setAvatarUrl(u.getAvatarUrl()); + return temp; + }).collect(Collectors.toList()); couponOrderGroup.put("userList", userList); } - return new ResultData(Result.SUCCESS, "查询成功", couponOrderGroup); + return new ResultData(couponOrderGroup); + } + + @Override + public ResultData queryOrderGroupStatus(WxOrderGroup wxOrderGroup) { + Long id = wxOrderGroup.getId(); + WxOrderGroup group = wxOrderGroupMapper.selectByPrimaryKey(id); + WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(wxOrderGroup.getCouponId()); + Integer status = wxCoupon.getStatus(); + if (status.equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode())) { + group.setStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_CANCEL.getCode()); + returnMoney(group); + } + // 查看是否超时 + Date expiredDate = group.getExpiredDate(); + if (new Date().after(expiredDate)) { + group.setStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_OVERTIME.getCode()); + returnMoney(group); + } + return toOrderGroup(wxOrderGroup); + } + + public void returnMoney(WxOrderGroup group) { + //券失效或拼团超时 修改 拼团的状态 + wxOrderGroupMapper.updateByPrimaryKeySelective(group); + WxOrder order = new WxOrder(); + order.setTenantId(group.getTenantId()); + order.setOrderGroupId(group.getId()); + order.setOrderStatus(group.getStatus()); + wxOrderMapper.updateStatusByOrderGroupId(order); + //退款流程 TODO gongbiao } } diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index fb9b27171..1671d7f63 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -681,4 +681,8 @@ + + update wx_order set order_status=#{orderStatus} where tenant_id=#{tenantId} and order_group_id=#{orderGroupId} + +