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

停车券bug

release_toaliyun_real
winter 4 лет назад
Родитель
Сommit
c8733659f3
9 измененных файлов: 120 добавлений и 17 удалений
  1. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +6
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponMerchant.java
  3. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java
  4. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java
  5. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  6. +14
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  7. +78
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  8. +3
    -1
      mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java
  9. +14
    -1
      mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml

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

@@ -329,7 +329,7 @@ public class WxCarController extends BaseController {
userCarQ.setCUserId(memberId);
userCarQ.setId(couponOrderId);
userCarQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode());
List<WxCouponOrderCarCVo> list = wxCouponOrderService.carListCUserVo(userCarQ);
List<WxCouponOrderCarCVo> list = wxCouponOrderService.carListCUserVo(userCarQ,true);
if (null != list && list.size() > 0) {
userCar = list.get(0);
WxCUserBasicInfo user;


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

@@ -1,11 +1,13 @@
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 lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

@TableName(value = "wx_coupon_merchant")
@Data
@@ -16,8 +18,12 @@ public class WxCouponMerchant extends TenantEntity {

@io.swagger.annotations.ApiModelProperty(value="",name="productId")
private Long productId;
@TableField(exist = false)
private List<Long> productIds;
@io.swagger.annotations.ApiModelProperty(value="",name="merchantId")
private Long merchantId;
@TableField(exist = false)
private List<Long> merchantIds;
@io.swagger.annotations.ApiModelProperty(value="",name="parameter")
private String parameter;



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

@@ -3,6 +3,7 @@ package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxCouponMerchant;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxMerchantProductVo;
import com.iformall.domain.vo.WxMerchantVo;



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

@@ -146,7 +146,7 @@ public interface WxCouponOrderService {

ResultData carListCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize);

List<WxCouponOrderCarCVo> carListCUserVo(WxCouponOrder record);
List<WxCouponOrderCarCVo> carListCUserVo(WxCouponOrder record,boolean getMerchant);

/**
* A端查询分页列表


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

@@ -155,7 +155,8 @@ public interface WxMerchantService {

PageInfo<WxMerchant> listVoAsPage(WxMerchant wxMerchant, Integer pageNum, Integer pageSize);
List<WxMerchantVo> findMerchantVoList(Long productId,String tenantId);
List<WxMerchantVo> findMerchantVoList(Long couponId,String tenantId);
Map<Long,List<WxMerchantVo>> findCouponMerchantVoList(List<Long> couponIds,String tenantId);

PageInfo<WxMerchant> listVoAsPage2(WxMerchant wxMerchant, Integer pageNum, Integer pageSize);



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

@@ -110,6 +110,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@Autowired
WxCouponMapper wxCouponMapper;

@Lazy
@Autowired
WxMerchantService wxMerchantService;

@@ -676,15 +677,15 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {

@Override
public ResultData carListCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) {
return new ResultData(findCarListOfCUser(record,pageIndex,pageSize));
return new ResultData(findCarListOfCUser(record,pageIndex,pageSize,true));
}

@Override
public List<WxCouponOrderCarCVo> carListCUserVo(WxCouponOrder record) {
return findCarListOfCUser(record,1,10).getList();
public List<WxCouponOrderCarCVo> carListCUserVo(WxCouponOrder record,boolean getMerchant) {
return findCarListOfCUser(record,1,10,getMerchant).getList();
}
private PageInfo<WxCouponOrderCarCVo> findCarListOfCUser(WxCouponOrder wxCouponOrder,Integer pageIndex, Integer pageSize){
private PageInfo<WxCouponOrderCarCVo> findCarListOfCUser(WxCouponOrder wxCouponOrder,Integer pageIndex, Integer pageSize,boolean getMerchant){
WxCoupon couponQ = new WxCoupon();
couponQ.updateTenantInfo(wxCouponOrder);
List<Integer> types = new ArrayList<Integer>();
@@ -700,14 +701,14 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
PageInfo<WxCouponOrderCarCVo> retPageInfo = new PageInfo<WxCouponOrderCarCVo>();
retPageInfo.setPageNum(pageInfo.getPageNum());
retPageInfo.setPageSize(pageInfo.getPageSize());
retPageInfo.setList(couponOrderListToCarVoList(wxCouponOrder,pageInfo.getList()));
retPageInfo.setList(couponOrderListToCarVoList(wxCouponOrder,pageInfo.getList(),getMerchant));
retPageInfo.setPages(pageInfo.getPages());
retPageInfo.setTotal(pageInfo.getTotal());
return retPageInfo;
}
private List<WxCouponOrderCarCVo> couponOrderListToCarVoList(TenantEntity tenantEntity,List<WxCouponOrder> couponOrderList) {
private List<WxCouponOrderCarCVo> couponOrderListToCarVoList(TenantEntity tenantEntity,List<WxCouponOrder> couponOrderList,boolean getMerchant) {
if (null != couponOrderList) {
//查询coupon
List<Long> couponIds = new ArrayList<Long>();
@@ -750,21 +751,22 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
}
}
Map<Long, List<WxMerchantVo>> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIds, tenantEntity.getTenantId());
List<WxCouponOrderCarCVo> volist = new ArrayList<WxCouponOrderCarCVo>();
for (int i = 0 ; i < couponOrderList.size(); i++){
WxCouponOrder co = couponOrderList.get(i);
WxCouponOrderCarCVo cvo = getCouponOrderCarVo(co,couponMap,couponCarMap);
WxCouponOrderCarCVo cvo = getCouponOrderCarVo(co,couponMap,couponCarMap,getMerchant,couponMerchantVoMap);
if (null != cvo) {
volist.add(cvo);
}
}
return volist;
}
return null;
}
private WxCouponOrderCarCVo getCouponOrderCarVo(WxCouponOrder co,Map<Long,WxCoupon> couponMap,Map<Long,WxCouponCar> couponCarMap) {
private WxCouponOrderCarCVo getCouponOrderCarVo(WxCouponOrder co,Map<Long,WxCoupon> couponMap,Map<Long,WxCouponCar> couponCarMap,boolean getMerchant,Map<Long, List<WxMerchantVo>> couponMerchantVoMap) {
if (null == co) {
return null;
}
@@ -790,6 +792,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
if (null != couponCar) {
cvo.setVendorParams(couponCar.getVendorParams());
}
if (getMerchant && null != couponMerchantVoMap) {
cvo.setMerchantVoList(couponMerchantVoMap.get(cvo.getCouponId()));
}
return cvo;
} catch (IllegalAccessException | InvocationTargetException e) {
logger.error("getCouponOrderCarVo error.",e);


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

@@ -923,11 +923,86 @@ public class WxMerchantServiceImpl implements WxMerchantService {
public PageInfo<WxMerchantTradeDetailVo> userTradeDetailList(WxMerchant record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantMapper.userTradeDetailList(record));
}
@Override
public Map<Long,List<WxMerchantVo>> findCouponMerchantVoList(List<Long> couponIds,String tenantId) {
List<Long> merchantIds = wxCouponMerchantMapper.findMerchantByProductIds(tenantId, couponIds);
if(null != merchantIds && merchantIds.size() > 0 ) {
WxMerchant merchantQ = new WxMerchant();
merchantQ.setTenantId(tenantId);
merchantQ.setIds(merchantIds);
List<WxMerchant> merchantList = wxMerchantMapper.findList(merchantQ);
Map<Long,WxMerchant> merchantMap = new HashMap<Long,WxMerchant>();
if (null != merchantList) {
for (int i = 0 ; i < merchantList.size() ; i++) {
WxMerchant m = merchantList.get(i);
if (null != m) {
merchantMap.put(m.getId(), m);
}
}
}
WxCouponMerchant couponMerchantQ = new WxCouponMerchant();
couponMerchantQ.setTenantId(tenantId);
couponMerchantQ.setStatus(0);
couponMerchantQ.setProductIds(couponIds);
List<WxCouponMerchant> couponMerchantList = wxCouponMerchantMapper.findList(couponMerchantQ);
if (null == couponMerchantList) {
return null;
}
Map<Long,List<WxMerchantVo>> retMap = new HashMap<Long,List<WxMerchantVo>>();
for (int i = 0 ; i < couponMerchantList.size() ; i ++) {
WxCouponMerchant cm = couponMerchantList.get(i);
Long couponId = cm.getProductId();
Long merchantId = cm.getMerchantId();
if (null != couponId && null != merchantId) {
List<WxMerchantVo> volist = retMap.get(couponId);
if (null == volist) {
volist = new ArrayList<WxMerchantVo>();
}
retMap.put(couponId, volist);
WxMerchantVo vo = merchantToVo(cm,merchantMap.get(merchantId));
if (null != vo) {
volist.add(vo);
}
}
}
return retMap;
}
return null;
}


private WxMerchantVo merchantToVo(WxCouponMerchant cm,WxMerchant m) {
if (null == cm) {
return null;
}
if (null == m) {
return null;
}
WxMerchantVo vo = new WxMerchantVo();
vo.setId(m.getId());
vo.setTenantId(m.getTenantId());
vo.setParentTenantId(m.getParentTenantId());
vo.setMerchantImgUrl(m.getImgUrl());
vo.setMerchantName(m.getName());
vo.setMerchantLinkPhone(m.getLinkPhone());
vo.setMerchantStatus(m.getStatus());
vo.setBusinessId(m.getBusinessId());
vo.setSubBusinessId(m.getSubBusinessId());
vo.setParameter(cm.getParameter());
vo.setLinkLinePhone(m.getLinkLinePhone());
return vo;
}
@Override
public List<WxMerchantVo> findMerchantVoList(Long productId,String tenantId) {
return wxCouponMerchantMapper.findMerchantVoList(productId,tenantId);
public List<WxMerchantVo> findMerchantVoList(Long couponId,String tenantId) {
List<Long> couponIds = new ArrayList<Long>();
couponIds.add(couponId);
Map<Long,List<WxMerchantVo>> couponMerchantVoList = findCouponMerchantVoList(couponIds,tenantId);
if (null != couponMerchantVoList) {
return couponMerchantVoList.get(couponId);
}
return null;
}

@Override


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

@@ -363,7 +363,9 @@ public class EtcpHelper {
}

// 优先从从商户表里取
businessId = getETCPBusinessID(merchantVo.getId());
if (null != merchantVo) {
businessId = getETCPBusinessID(merchantVo.getId());
}
if (StringUtils.isBlank(businessId)) {
// 1期只有一个虚拟商户,可以写在商场配置里
businessId = objParams.getString("businessId");


+ 14
- 1
mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml Просмотреть файл

@@ -60,7 +60,20 @@
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
</if>
<if test=" null != merchantIds ">
and merchant_id in
<foreach collection="merchantIds" index="index" item="merchantIdItem" open="(" separator="," close=")">
#{merchantIdItem}
</foreach>
</if>
<if test=" null != productIds ">
and product_id in
<foreach collection="productIds" index="index" item="productIdItem" open="(" separator="," close=")">
#{productIdItem}
</foreach>
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
</sql>


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