| @@ -25,7 +25,9 @@ import org.springframework.data.redis.core.RedisTemplate; | |||||
| import org.springframework.data.redis.core.ValueOperations; | import org.springframework.data.redis.core.ValueOperations; | ||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
| import java.util.ArrayList; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||
| @@ -74,11 +76,24 @@ public class WxCouponOrderController extends BaseController { | |||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | ||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | ||||
| public ResultData goodsList(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { | |||||
| if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder(); | |||||
| wxCouponOrder.setMerchantId(getLoginBUser().getMerchantId()); | |||||
| wxCouponOrder.setCouponType(EnumCouponType.COUPON_DISTRIBUTION.getCode()); | |||||
| final PageInfo<WxCouponOrderBVo> page = wxCouponOrderService.goodsListAsPage(wxCouponOrder, pageNum, pageSize); | |||||
| public ResultData goodsList(@ModelAttribute WxCouponOrderBVo wxCouponOrderBvo, Integer pageNum, Integer pageSize) { | |||||
| if (null == wxCouponOrderBvo) wxCouponOrderBvo = new WxCouponOrderBVo(); | |||||
| wxCouponOrderBvo.setMerchantId(getLoginBUser().getMerchantId()); | |||||
| wxCouponOrderBvo.setCouponType(EnumCouponType.COUPON_DISTRIBUTION.getCode()); | |||||
| List<Integer> shippingStatuss = new ArrayList<>(); | |||||
| if(EnumOrderShopingStatus.WAIT_SENG_GOODS.getCode().equals(wxCouponOrderBvo.getShippingStatus())){ | |||||
| shippingStatuss.add(EnumOrderShopingStatus.READY_SELF_MENTION.getCode()); | |||||
| shippingStatuss.add(EnumOrderShopingStatus.READY_DISTRIBUTION.getCode()); | |||||
| }else if(EnumOrderShopingStatus.SENG_GOODS.getCode().equals(wxCouponOrderBvo.getShippingStatus())){ | |||||
| shippingStatuss.add(EnumOrderShopingStatus.WAIT_SELF_MENTION.getCode()); | |||||
| shippingStatuss.add(EnumOrderShopingStatus.WAIT_DISTRIBUTION.getCode()); | |||||
| }else if(EnumOrderShopingStatus.FINISH_SENG_GOODS.getCode().equals(wxCouponOrderBvo.getShippingStatus())){ | |||||
| wxCouponOrderBvo.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); | |||||
| } | |||||
| if(shippingStatuss.size() > 0){ | |||||
| wxCouponOrderBvo.setShippingStatuss(shippingStatuss); | |||||
| } | |||||
| final PageInfo<WxCouponOrderBVo> page = wxCouponOrderService.goodsListAsPage(wxCouponOrderBvo, pageNum, pageSize); | |||||
| return new ResultData(page); | return new ResultData(page); | ||||
| } | } | ||||
| @@ -435,4 +435,43 @@ public class WxOrderController extends BaseController { | |||||
| } | } | ||||
| @ApiOperation("分页订单列表接口") | |||||
| @GetMapping("listGoods") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||||
| }) | |||||
| public ResultData listGoods(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { | |||||
| // c端用户应该只能看到自己的订单 | |||||
| if (wxOrder == null){ | |||||
| wxOrder = new WxOrder(); | |||||
| } | |||||
| Long memberId; | |||||
| try { | |||||
| memberId = getMemberId(); | |||||
| } catch (Exception e) { | |||||
| return new ResultData(Result.ERROR,e.getMessage()); | |||||
| } | |||||
| wxOrder.setCUserId(memberId); | |||||
| wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); | |||||
| final PageInfo<WxOrderCouponVo> page = wxOrderService.listGoodsCAsPage(wxOrder, pageNum, pageSize); | |||||
| Date now = new Date(); | |||||
| page.getList().stream().forEach(oc->{ | |||||
| if (oc.getValidStartDate() != null && oc.getValidEndDate() != null ) { | |||||
| if (oc.getValidStartDate().getTime() > now.getTime()) { | |||||
| oc.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode()); | |||||
| } else if (oc.getValidEndDate().getTime() < now.getTime()) { | |||||
| oc.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode()); | |||||
| } else { | |||||
| oc.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode()); | |||||
| } | |||||
| } | |||||
| }); | |||||
| return new ResultData(page); | |||||
| } | |||||
| } | } | ||||
| @@ -12,6 +12,7 @@ import lombok.ToString; | |||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||
| import java.text.DecimalFormat; | import java.text.DecimalFormat; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @TableName(value = "wx_coupon_order") | @TableName(value = "wx_coupon_order") | ||||
| @Data | @Data | ||||
| @@ -156,4 +157,7 @@ public class WxCouponOrder extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="配送信息",name="deliveryInfo") | @io.swagger.annotations.ApiModelProperty(value="配送信息",name="deliveryInfo") | ||||
| private String deliveryInfo; | private String deliveryInfo; | ||||
| @TableField(exist = false) | |||||
| private List<Integer> shippingStatuss; | |||||
| } | } | ||||
| @@ -9,6 +9,11 @@ public enum EnumOrderShopingStatus { | |||||
| ONLINE_PURCHASE(0,"线上购买"),//不需要发货 | ONLINE_PURCHASE(0,"线上购买"),//不需要发货 | ||||
| WAIT_SENG_GOODS(1,"待发货(查询用)"), | |||||
| SENG_GOODS(2,"已发货(查询用)"), | |||||
| FINISH_SENG_GOODS(3,"已完成(查询用)"), | |||||
| READY_SELF_MENTION(10,"自提商品准备中"), | READY_SELF_MENTION(10,"自提商品准备中"), | ||||
| WAIT_SELF_MENTION(14,"已备货,待自提"), | WAIT_SELF_MENTION(14,"已备货,待自提"), | ||||
| ALREADY_SELF_MENTION(15,"已自提"), | ALREADY_SELF_MENTION(15,"已自提"), | ||||
| @@ -95,5 +95,5 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> { | |||||
| Integer findWriteOffCount(WxCouponOrder wxCouponOrder); | Integer findWriteOffCount(WxCouponOrder wxCouponOrder); | ||||
| WxCouponOrderBVo findGoodsList(WxCouponOrder record); | |||||
| List<WxCouponOrderBVo> findGoodsList(WxCouponOrderBVo record); | |||||
| } | } | ||||
| @@ -66,5 +66,6 @@ public interface WxOrderMapper extends CommonMapper<WxOrder, Long> { | |||||
| void updateOrderStatusForGroup(@Param("tenantId")String tenantId); | void updateOrderStatusForGroup(@Param("tenantId")String tenantId); | ||||
| void updateCUserId(WxOrder updateOrder); | void updateCUserId(WxOrder updateOrder); | ||||
| List<WxOrderCouponVo> listGoodsCAsPage(WxOrder record); | |||||
| } | } | ||||
| @@ -229,5 +229,5 @@ public interface WxCouponOrderService { | |||||
| Integer findCount(WxCouponOrder wxCouponOrder); | Integer findCount(WxCouponOrder wxCouponOrder); | ||||
| PageInfo<WxCouponOrderBVo> goodsListAsPage(WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize); | |||||
| PageInfo<WxCouponOrderBVo> goodsListAsPage(WxCouponOrderBVo couponOrderBvo, Integer pageNum, Integer pageSize); | |||||
| } | } | ||||
| @@ -244,4 +244,5 @@ public interface WxOrderService { | |||||
| ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | ||||
| PageInfo<WxOrderCouponVo> listGoodsCAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize); | |||||
| } | } | ||||
| @@ -1743,7 +1743,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public PageInfo<WxCouponOrderBVo> goodsListAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { | |||||
| public PageInfo<WxCouponOrderBVo> goodsListAsPage(WxCouponOrderBVo record, Integer pageIndex, Integer pageSize) { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findGoodsList(record)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findGoodsList(record)); | ||||
| } | } | ||||
| @@ -2519,7 +2519,12 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| } | } | ||||
| @Override | |||||
| public PageInfo<WxOrderCouponVo> listGoodsCAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.listGoodsCAsPage(record)); | |||||
| } | |||||
| private WxCoupon singleOrderCheck(OrderSaveDto orderSaveDto,int productCount,WxCUserBasicInfo wxCUserBasicInfo,EnumPayWay payWay,TenantEntity tenantEntity,int curindex,boolean singleProduct) { | private WxCoupon singleOrderCheck(OrderSaveDto orderSaveDto,int productCount,WxCUserBasicInfo wxCUserBasicInfo,EnumPayWay payWay,TenantEntity tenantEntity,int curindex,boolean singleProduct) { | ||||
| logger.info("OrderSave: " + orderSaveDto); | logger.info("OrderSave: " + orderSaveDto); | ||||
| String premsg = ""; | String premsg = ""; | ||||
| @@ -993,7 +993,7 @@ | |||||
| </select> | </select> | ||||
| <select id="findGoodsList" parameterType="com.iformall.domain.po.WxCouponOrder" resultMap="AdminBVoResultMap"> | |||||
| <select id="findGoodsList" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | |||||
| select | select | ||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | ||||
| co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, | co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, | ||||
| @@ -1026,6 +1026,12 @@ | |||||
| <if test=" null != couponOrderStatus "> | <if test=" null != couponOrderStatus "> | ||||
| and co.coupon_order_status = #{couponOrderStatus} | and co.coupon_order_status = #{couponOrderStatus} | ||||
| </if> | </if> | ||||
| <if test=" null != shippingStatuss "> | |||||
| and co.`shipping_status` in | |||||
| <foreach collection="shippingStatuss" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test="startDate != null"> | <if test="startDate != null"> | ||||
| AND co.create_date > #{startDate,jdbcType=TIMESTAMP} | AND co.create_date > #{startDate,jdbcType=TIMESTAMP} | ||||
| @@ -394,6 +394,30 @@ | |||||
| <if test=" null != sortColumns">order by ${sortColumns}</if> | <if test=" null != sortColumns">order by ${sortColumns}</if> | ||||
| </select> | </select> | ||||
| <select id="listGoodsCAsPage" parameterType="com.iformall.domain.po.WxOrder" resultMap="CVoResultMap"> | |||||
| select | |||||
| <include refid="allCUserOrderListColumns"/> | |||||
| from wx_coupon c,wx_order o | |||||
| left join wx_coupon_order co on co.order_id = o.id | |||||
| where o.product_id = c.id and o.order_status in (0,1,2,3,4,5) | |||||
| <if test="cUserId != null"> | |||||
| and o.c_user_id = #{cUserId} | |||||
| </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and o.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and o.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != composeOrderId "> | |||||
| and o.`compose_order_id` = #{composeOrderId} | |||||
| </if> | |||||
| <if test="orderStatus != null"> | |||||
| AND o.order_status = #{orderStatus} | |||||
| </if> | |||||
| <if test=" null != sortColumns">order by ${sortColumns}</if> | |||||
| </select> | |||||
| <select id="selectDetailOfCUser" parameterType="com.iformall.domain.po.WxOrder" resultMap="CVoResultMap"> | <select id="selectDetailOfCUser" parameterType="com.iformall.domain.po.WxOrder" resultMap="CVoResultMap"> | ||||
| select | select | ||||
| <include refid="allCUserOrderDetailColumns"/> | <include refid="allCUserOrderDetailColumns"/> | ||||