Просмотр исходного кода

/。订单列表

release_toaliyun_real
xhxu 4 лет назад
Родитель
Сommit
810f97e05c
8 измененных файлов: 103 добавлений и 4 удалений
  1. +25
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java
  2. +8
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java
  5. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxOrderService.java
  6. +35
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  7. +7
    -3
      mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml
  8. +23
    -0
      mallinkService/src/main/resources/mapper/WxOrderMapper.xml

+ 25
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java Просмотреть файл

@@ -542,5 +542,30 @@ public class WxOrderController extends BaseController {
return new ResultData(page);
}

@ApiOperation("分页订单列表接口")
@GetMapping("listGoods_v1")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
})
public ResultData listGoodsV1(@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);
wxOrder.updateTenantInfo(getTenantInfo());
final PageInfo<WxBatchOrder> page = wxOrderService.listBatchOrderAsPage(wxOrder, pageNum, pageSize);

return new ResultData(page);
}


}

+ 8
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java Просмотреть файл

@@ -1,11 +1,14 @@
package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxOrderCouponVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.Date;
import java.util.List;

@TableName(value = "wx_batch_order")
@Data
@@ -32,4 +35,9 @@ public class WxBatchOrder extends TenantEntity {
private Integer payVendor;
@io.swagger.annotations.ApiModelProperty(value = "组合订单类型EnumComposeOrder", name = "orderType")
private Integer orderType;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "订单集合", name = "orders")
private List<WxOrderCouponVo> orders;

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java Просмотреть файл

@@ -104,6 +104,8 @@ public class WxOrder extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="组合订单编号",name="composeOrderId")
private Long composeOrderId;
@TableField(exist = false)
protected List<Long> composeOrderIds;
@io.swagger.annotations.ApiModelProperty(value="商品数量",name="couponNumber")
private Integer couponNumber;


+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java Просмотреть файл

@@ -67,4 +67,6 @@ public interface WxOrderMapper extends CommonMapper<WxOrder, Long> {
void updateOrderStatusForGroup(@Param("tenantId")String tenantId);
void updateCUserId(WxOrder updateOrder);

List<Long> getComposeOrderIds(WxOrder wxOrder);
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxOrderService.java Просмотреть файл

@@ -245,4 +245,5 @@ public interface WxOrderService {

PageInfo<WxOrderCouponVo> listGoodsCAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize);

PageInfo<WxBatchOrder> listBatchOrderAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize);
}

+ 35
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Просмотреть файл

@@ -2793,7 +2793,7 @@ public class WxOrderServiceImpl implements WxOrderService {
public PageInfo<WxOrderCouponVo> listGoodsCAsPage(WxOrder record, Integer pageIndex, Integer pageSize) {
// WxBatchOrder batchOrderQ = new WxBatchOrder();
// batchOrderQ.updateTenantInfo(record);
// batchOrderQ.setPayVendor(record.getPayVendor());;
// batchOrderQ.setPayVendor(record.getPayVendor());
// PageInfo<WxBatchOrder> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBatchOrderMapper.findCOrderList(batchOrderQ));
// page.getList().stream().forEach(oc->{
// record.setComposeOrderId(oc.getComposeOrderId());
@@ -2808,6 +2808,40 @@ public class WxOrderServiceImpl implements WxOrderService {
// return page;
return null;
}

@Override
public PageInfo<WxBatchOrder> listBatchOrderAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize) {

WxBatchOrder batchOrderQ = new WxBatchOrder();
batchOrderQ.updateTenantInfo(wxOrder);
batchOrderQ.setCUserId(wxOrder.getCUserId());
batchOrderQ.setPayVendor(wxOrder.getPayVendor());
if(wxOrder.getOrderStatus() != null){
List<Long> composeOrderIds = wxOrderMapper.getComposeOrderIds(wxOrder);
if(composeOrderIds != null && composeOrderIds.size() > 0){
batchOrderQ.setIds(composeOrderIds);
}
}
PageInfo<WxBatchOrder> page = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBatchOrderMapper.findCOrderList(batchOrderQ));
List<Long> batchOrderIds = page.getList().stream().map(WxBatchOrder::getId).collect(Collectors.toList());
if(batchOrderIds.size() > 0){
Map<Long,List<WxOrderCouponVo>> batchOrderMap = getBatchOrderMap(wxOrder,batchOrderIds);
page.getList().stream().forEach(oc->{
oc.setOrders(batchOrderMap.get(oc.getId()));
});
}
return page;
}

private Map<Long,List<WxOrderCouponVo>> getBatchOrderMap(TenantEntity tenantEntity,List<Long> batchOrderIds){
WxOrder recordQ = new WxOrder();
recordQ.updateTenantInfo(tenantEntity);
recordQ.setComposeOrderIds(batchOrderIds);
List<WxOrder> listOfCUser = wxOrderMapper.findListOfCUser(recordQ);
List<WxOrderCouponVo> wxOrderCouponVos = toOrderCouponVoList(tenantEntity, listOfCUser, false);
Map<Long, List<WxOrderCouponVo>> map = wxOrderCouponVos.stream().collect(Collectors.groupingBy(WxOrderCouponVo::getComposeOrderId));
return map;
}
// private List<WxOrderCouponVo> batchOderToOrderCouponVoList(List<WxBatchOrder> batchOrderList) {
// if (null == batchOrderList || batchOrderList.size() <= 0 ) {
// return null;


+ 7
- 3
mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml Просмотреть файл

@@ -71,12 +71,16 @@
<if test=" null != parentTenantId and '' != parentTenantId">
and o.`parent_tenant_id` = #{parentTenantId}
</if>
<if test="orderStatus != null">
AND o.order_status = #{orderStatus}
</if>
<if test=" null != payVendor ">
and o.pay_vendor = #{payVendor}
</if>
<if test=" null != ids ">
and o.id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
order by o.create_date desc
</select>

<select id="countList" parameterType="com.iformall.domain.po.WxBatchOrder" resultType="java.lang.Integer">


+ 23
- 0
mallinkService/src/main/resources/mapper/WxOrderMapper.xml Просмотреть файл

@@ -347,6 +347,12 @@
<if test=" null != payVendor ">
and o.pay_vendor = #{payVendor}
</if>
<if test=" null != composeOrderIds ">
and o.compose_order_id in
<foreach collection="composeOrderIds" index="index" item="composeOrderIdItem" open="(" separator="," close=")">
#{composeOrderIdItem}
</foreach>
</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</select>
@@ -1200,5 +1206,22 @@
</foreach>
</if>
</update>

<select id="getComposeOrderIds" parameterType="com.iformall.domain.po.WxOrder" resultType="Long">
select distinct compose_order_id from wx_order
where parent_order_id = 0
and `tenant_id` = #{tenantId}
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
and c_user_id = #{cUserId}
<if test="orderStatus != null">
AND order_status = #{orderStatus}
</if>
<if test=" null != payVendor ">
and pay_vendor = #{payVendor}
</if>

</select>
</mapper>

Загрузка…
Отмена
Сохранить