diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index 5e1f83a65..16097f9e9 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -7,7 +7,10 @@ import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; +import com.iformall.domain.po.WxMerchant; +import com.iformall.domain.po.WxMiniappThemeValue; import com.iformall.enums.EnumCouponType; +import com.iformall.utils.RedisCacheUtils; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -56,6 +59,10 @@ public class WxCouponController extends BaseController { @Qualifier("couponDetailRedisTemplate") RedisTemplate cdRedisTemplate; + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate objectCommonRedisTemplate; + @ApiOperation("根据id(couponChannel)查询接口") @GetMapping("/detail") @ApiImplicitParams({ @@ -201,6 +208,32 @@ public class WxCouponController extends BaseController { return new ResultData(wxCouponCVo); } + +// @ApiOperation("根据id(couponId)查询接口") +// @GetMapping("/getMerchantList") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "couponId", value = "couponId", dataType = "String", paramType = "query", required = true) +// }) +// public ResultData getMerchantList(Long couponId) { +// +// if (couponId == null) { +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); +// } +// +// String key = Constant.coupon_merchants_key+getTenantInfo().getTenantId()+":"+couponId; +// +// List valueList = RedisCacheUtils.getCacheListObject(objectCommonRedisTemplate, key, WxMerchantVo.class); +// if(valueList != null && valueList.size() > 0){ +// return new ResultData(valueList); +// } +// valueList = couponService.getCouponMerchantList(getTenantInfo(),couponId); +// if(valueList == null || valueList.size() == 0){ +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); +// } +// +// RedisCacheUtils.cache(objectCommonRedisTemplate,key,valueList,3600l); +// return new ResultData(valueList); +// } private WxCouponCVo generateWxCouponCVo(Long couponChannelIdL,String tenantId) { WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index b26ca9f64..413c1d7f6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -346,6 +346,10 @@ public class WxMerchant extends TenantEntity { @TableField(exist = false) private String addr; + @io.swagger.annotations.ApiModelProperty(value="ttPoi",name="ttPoi") + @TableField(exist = false) + private String ttPoi; + @io.swagger.annotations.ApiModelProperty(value="经度",name="longitude") @TableField(exist = false) private BigDecimal longitude; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java index 99b3a4a6d..9d62e49f4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java @@ -101,6 +101,10 @@ public class WxMerchantVo extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "置顶时间", name = "topTime") private Date topTime; + @io.swagger.annotations.ApiModelProperty(value="ttPoi",name="ttPoi") + @TableField(exist = false) + private String ttPoi; + @io.swagger.annotations.ApiModelProperty(value="经度",name="longitude") @TableField(exist = false) private BigDecimal longitude; @@ -128,6 +132,7 @@ public class WxMerchantVo extends TenantEntity { this.linkLinePhone = m.getLinkLinePhone(); this.topTime = m.getTopTime(); this.addr = m.getAddr(); + this.ttPoi = m.getTtPoi(); this.longitude = m.getLongitude(); this.latitude = m.getLatitude(); } diff --git a/mallinkService/src/main/java/com/iformall/douyin/web/api/impl/TtWebProductServiceImpl.java b/mallinkService/src/main/java/com/iformall/douyin/web/api/impl/TtWebProductServiceImpl.java index c2b68ac9f..925f79660 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/web/api/impl/TtWebProductServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/douyin/web/api/impl/TtWebProductServiceImpl.java @@ -76,10 +76,15 @@ public class TtWebProductServiceImpl implements TtWebProductService { String apiUrl = this.service.getTtWebConfig().getApiBegin().getPrefix() + this.POST_SPU_STOCK_UPDATE; String result = this.service.execute(executor, apiUrl, spuStockSync.toJson()); JSONObject jsonObject = JSONObject.parseObject(result); - String spuExtId = jsonObject.getString("spu_ext_id"); - if(spuStockSync.getSpuExtId().equals(spuExtId)){ + Integer error_code = jsonObject.getInteger("error_code"); + if(error_code.intValue() == 0){ return true; } + +// String spuExtId = jsonObject.getString("spu_ext_id"); +// if(spuStockSync.getSpuExtId().equals(spuExtId)){ +// return true; +// } return false; } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index ce9f5cb7f..50d54cfb1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -11,6 +11,7 @@ import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCouponCVo; import com.iformall.domain.vo.WxCouponStatisVo; +import com.iformall.domain.vo.WxMerchantVo; public interface WxCouponService { @@ -261,4 +262,6 @@ public interface WxCouponService { Map getCouponMerchantMap(List couponIds,TenantEntity tenantEntity,boolean onlyOneMerchantCoupons); Map getCouponMap(List couponIds, TenantEntity tenantEntity); + + List getCouponMerchantList(TenantEntity tenantInfo, Long couponId); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java index 65a71a0aa..4490a9dfa 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java @@ -593,11 +593,11 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { poi.setSyncStatus(EnumSupplierSyncStatus.sync_success.getCode()); List poiList = ttMerchantPoiMapper.findList(poi); if(poiList == null || poiList.isEmpty()){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到可用poi"); + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到匹配的poi"); } - List collect = poiList.stream().map(p -> p.getId()).collect(Collectors.toList()); +// List collect = poiList.stream().map(p -> p.getId()).collect(Collectors.toList()); - String spuId = spuSync(coupon,couponChannel,collect); + String spuId = spuSync(coupon,couponChannel,couponMerchantIds); if(StringUtils.isBlank(spuId)){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"同步失败"); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index a832cafeb..036e7376a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -48,6 +48,8 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import static java.util.stream.Collectors.toList; + @Service public class WxCouponServiceImpl implements WxCouponService { @@ -154,7 +156,7 @@ public class WxCouponServiceImpl implements WxCouponService { return new ResultData(page); } - List ids = wxCouponList.stream().map(p -> p.getId()).collect(Collectors.toList()); + List ids = wxCouponList.stream().map(p -> p.getId()).collect(toList()); WxCouponChannel wxCouponChannel = new WxCouponChannel(); wxCouponChannel.updateTenantInfo(wxCoupon); wxCouponChannel.setCouponIds(ids); @@ -249,7 +251,7 @@ public class WxCouponServiceImpl implements WxCouponService { if (merchantList != null) { merchantList = merchantList.stream().filter( m->m.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())) - .collect(Collectors.toList()); + .collect(toList()); } wxCouponCVo.setMerchantVoList(merchantList); if(EnumCouponType.COUPON_GIFT.getCode().equals(wxCouponCVo.getType())){ @@ -1101,5 +1103,23 @@ public class WxCouponServiceImpl implements WxCouponService { return couponMap; } + @Override + public List getCouponMerchantList(TenantEntity tenantInfo, Long couponId) { + List couponIdList = new ArrayList(); + couponIdList.add(couponId); + Map> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIdList, tenantInfo,true); + + List merchantList = couponMerchantVoMap.get(couponId); + if (merchantList != null) { + + merchantList = merchantList.stream().sorted(Comparator.comparing(m -> m.getTtPoi(), Comparator.nullsLast(String::compareTo))).collect(toList()); + + merchantList = merchantList.stream().filter( + m->m.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())) + .collect(toList()); + } + return merchantList; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 9576c7413..20376b7a5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -1251,6 +1251,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { TtMerchantPoi poi = poiMap.get(m.getId()); if(null != poi){ m.setAddr(poi.getAddress()); + m.setTtPoi(poi.getPoiId()); m.setLongitude(poi.getLongitude()); m.setLatitude(poi.getLatitude()); } @@ -1318,6 +1319,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { vo.setShopVoList(merchantShopVoList.get(vo.getId())); } vo.setAddr(m.getAddr()); + vo.setTtPoi(m.getTtPoi()); vo.setLongitude(m.getLongitude()); vo.setLatitude(m.getLatitude()); return vo; @@ -1630,6 +1632,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { TtMerchantPoi poi = poiMap.get(m.getId()); if(null != poi){ m.setAddr(poi.getAddress()); + m.setTtPoi(poi.getPoiId()); m.setLongitude(poi.getLongitude()); m.setLatitude(poi.getLatitude()); } @@ -1654,6 +1657,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { vo.setId(m.getId()); vo.setAddr(m.getAddr()); + vo.setTtPoi(m.getTtPoi()); vo.setLongitude(m.getLongitude()); vo.setLatitude(m.getLatitude()); vo.setMerchantImgUrl(m.getImgUrl()); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java index c698ab0af..28c2e97e6 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java @@ -120,8 +120,8 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen } //目前订单都是一笔一笔同步,暂不支持购物车 WxOrderCouponVo wxOrderCouponVo = batchOrder.getOrders().get(0); -// List merchantList = wxOrderCouponVo.getMerchantVoList().stream().sorted(Comparator.comparing(m -> m.getTtPoi(), Comparator.nullsLast(String::compareTo))).collect(toList()); - List merchantList = wxOrderCouponVo.getMerchantVoList(); + List merchantList = wxOrderCouponVo.getMerchantVoList().stream().sorted(Comparator.comparing(m -> m.getTtPoi(), Comparator.nullsLast(String::compareTo))).collect(toList()); + TtMaService ttappService = maUtil.getTtMaService(appInfo); // map.put("access_token",appInfo.getAccessToken());//后面会自动加上 Map map = new HashMap<>(); diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 03acec2cc..c1ad6fbe3 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -85,6 +85,9 @@ public class Constant { public static final String importMemPrev = "importmem:"; public static final String importInvestCustomerPrev = "importinvestcustomer:"; + //商品门店 + public static final String coupon_merchants_key = "coupon:merchants:"; + //限制接口访问次数 public static final String INTERFACE_VISIT_LIMIT_KEY = "INTERFACE:LIMIT:";