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

Merge branch 'release_toaliyun_real_2022_init' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_2022_init

release_toaliyun_real
winter 4 лет назад
Родитель
Сommit
5c50f710c5
8 измененных файлов: 106 добавлений и 3 удалений
  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. +9
    -2
      mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml
  8. +24
    -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 Просмотреть файл

@@ -3046,7 +3046,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());
@@ -3061,6 +3061,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());
List<Long> composeOrderIds = wxOrderMapper.getComposeOrderIds(wxOrder);
if(composeOrderIds == null || composeOrderIds.isEmpty()){
batchOrderQ.setId(-999L);
}else{
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;


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

@@ -71,12 +71,19 @@
<if test=" null != parentTenantId and '' != parentTenantId">
and o.`parent_tenant_id` = #{parentTenantId}
</if>
<if test="orderStatus != null">
AND o.order_status = #{orderStatus}
<if test=" null != id ">
and o.`id` = #{id}
</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">


+ 24
- 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>
@@ -1118,5 +1124,23 @@
</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 order_status in (0,1,2,3,4,5)
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>

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