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

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

release_toaliyun_real
xhxu 4 лет назад
Родитель
Сommit
36e99bb229
19 измененных файлов: 240 добавлений и 52 удалений
  1. +2
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java
  2. +3
    -10
      mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java
  3. +1
    -8
      mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java
  4. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java
  5. +7
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponChannelMapper.java
  6. +7
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java
  7. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java
  8. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java
  9. +4
    -1
      mallinkService/src/main/java/com/iformall/service/WxCouponService.java
  10. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java
  11. +71
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
  12. +0
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  13. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java
  14. +16
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  15. +3
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java
  16. +2
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java
  17. +83
    -7
      mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
  18. +20
    -0
      mallinkService/src/main/resources/mapper/WxCouponMapper.xml
  19. +13
    -0
      mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml

+ 2
- 2
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java Просмотреть файл

@@ -169,8 +169,8 @@ public class WxCampaignController extends BaseController {
wxCouponChannel.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_CAMPAIN.getCode());
wxCouponChannel.setSubTargetId(wxCampaign.getId());
wxCouponChannel.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode());
List<WxCouponChannelVo> couponList = wxCouponChannelService.listVo(wxCouponChannel);
wxCampaign.setCoupons(couponList);
List<WxCouponChannelVo> voList = wxCouponChannelService.listVo(wxCouponChannel);
wxCampaign.setCoupons(voList);
}
return new ResultData(Result.SUCCESS, "查询成功", wxCampaign);
}


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

@@ -7,7 +7,6 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.WxCampaign;
import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCouponChannelVo;
import com.iformall.enums.*;
import com.iformall.service.WxCampaignService;
@@ -37,6 +36,7 @@ import java.util.List;
@RequestMapping("/api/wxCampaign")
@Api(description = "促销和banner接口")
public class WxCampaignController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
@@ -77,15 +77,8 @@ public class WxCampaignController extends BaseController {
wxCouponChannel.setSubTargetId(wxCampaign.getId());
wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
wxCouponChannel.setShowBeginTime(new Date());
//TODO待优化数据
List<WxCouponChannelVo> couponList = RedisCacheUtils.getCacheListObject(redisTemplate, "wxCampaignCoupons:"+wxCouponChannel.getTenantId(), WxCouponChannelVo.class);
if (null == couponList) {
couponList = wxCouponChannelService.listVo(wxCouponChannel);
if (null != couponList) {
RedisCacheUtils.cache(redisTemplate, "wxCampaignCoupons:"+wxCouponChannel.getTenantId(), couponList, 3600);
}
}
wxCampaign.setCoupons(couponList);
List<WxCouponChannelVo> voList = wxCouponChannelService.newfindListVo(wxCouponChannel);
wxCampaign.setCoupons(voList);
}
return new ResultData(Result.SUCCESS, "查询成功", wxCampaign);
}


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

@@ -58,14 +58,7 @@ public class WxTopicController extends BaseController {
public ResultData findById(WxTopic wxTopic) {
logger.debug("[" + getIpAddr() + "] WxTopicController::findById");
wxTopic.updateTenantInfo(getTenantInfo());
//TODO 待优化数据
WxTopic queryTopic =RedisCacheUtils.getCacheObject(redisTemplate, "topic:"+wxTopic.getId(), WxTopic.class);
if (null == queryTopic) {
queryTopic = wxTopicService.findCById(wxTopic);
if (null != queryTopic) {
RedisCacheUtils.cache(redisTemplate, "topic:"+wxTopic.getId(), queryTopic, 3600);
}
}
WxTopic queryTopic = wxTopicService.findCById(wxTopic);
return new ResultData(queryTopic);
}
}

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

@@ -197,6 +197,10 @@ public class WxCoupon extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="投放频道参数,用来过滤",name="couponId")
private Long couponId;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "用户积分,用来过滤", name = "userCredit")
private Integer userCredit;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value="修改库存有效期参数, 用来做乐观锁",name="orgRemainInventory")
private Integer orgRemainInventory;


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

@@ -44,4 +44,11 @@ public interface WxCouponChannelMapper extends CommonMapper<WxCouponChannel, Str
List<WxCouponChannel> findQrcodeEmptyList();
void cardDefer(@Param("couponId")Long couponId,@Param("tenantId")String tenantId,@Param("endTime")Date endTime);

/**
* C端列表查询,尽量减少字段
* @param wxCouponChannel
* @return
*/
List<WxCouponChannelVo> newfindCList(WxCouponChannel wxCouponChannel);
}

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

@@ -98,4 +98,11 @@ public interface WxCouponMapper extends CommonMapper<WxCoupon, Long> {
Integer findCouponListCount(WxCoupon wxCoupon);
void updateValidEndDate(WxCoupon wxCoupon);

/**
* c端列表查询,尽量减少字段
* @param couponQ
* @return
*/
List<WxCoupon> newfindCList(WxCoupon couponQ);
}

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

@@ -19,5 +19,6 @@ public interface WxCouponMerchantMapper extends CommonMapper<WxCouponMerchant, L
List<WxMerchantVo> findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId);
List<WxMerchantProductVo> findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List<Long> merchantIdList);
List<Long> findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List<Long> merchantIdList);
List<Long> findOneMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantId")Long merchantIdList);
List<Long> findMerchantByProductIds(@Param("tenantId")String tenantId,@Param("productIds")List<Long> productIds);
}

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

@@ -84,4 +84,5 @@ public interface WxCouponChannelService {

int countCoupon(WxCouponChannel wxCouponChannel, List<TenantEntity> tenantEntitys);

List<WxCouponChannelVo> newfindListVo(WxCouponChannel wxCouponChannel);
}

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

@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCouponCVo;
import com.iformall.domain.vo.WxCouponStatisVo;
@@ -258,5 +259,7 @@ public interface WxCouponService {
* 获取券商户map
*
*/
Map<Long,String> getCouponMerchant(List<Long> couponIds,TenantEntity tenantEntity);
Map<Long,String> getCouponMerchantMap(List<Long> couponIds,TenantEntity tenantEntity);

Map<Long, WxCoupon> getCouponMap(List<Long> couponIds, TenantEntity tenantEntity);
}

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

@@ -315,7 +315,7 @@ public class WxCampaignServiceImpl implements WxCampaignService {
wxCouponChannelQ.setCouponId(couponId);
wxCouponChannelQ.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode());
wxCouponChannelQ.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode());
List<WxCouponChannelVo> voList = wxCouponChannelMapper.findVoList(wxCouponChannelQ);
List<WxCouponChannelVo> voList = wxCouponChannelMapper.newfindCList(wxCouponChannelQ);
// 不存在的, 新增
wxCouponChannel = new WxCouponChannel();
if(voList != null && voList.size() > 0){


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

@@ -43,6 +43,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
@Autowired
WxCouponChannelMapper wxCouponChannelMapper;
@Autowired
WxCouponMapper wxCouponMapper;
@Autowired
WxCouponService wxCouponService;
@Autowired
WxMerchantMapper wxMerchantMapper;
@@ -252,13 +254,10 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
couponId = record.getCouponId();
record.setCouponId(null);
}
//TODO 待优化数据,暂时放缓存
List<WxCouponChannelVo> voList = RedisCacheUtils.getCacheListObject(redisTemplate, "changeCoupon:"+record.getTenantId(), WxCouponChannelVo.class);
if (null == voList) {
voList = wxCouponChannelMapper.findVoList(record);
RedisCacheUtils.cache(redisTemplate,"changeCoupon:"+record.getTenantId(), voList, 600);
}
if (voList.isEmpty()) {

List<WxCouponChannelVo> voList = this.newfindListVo(record);

if (voList == null || voList.isEmpty()) {
return new ResultData(Result.SUCCESS, "查询成功", null);
}
Map<String, Object> data = new HashMap<>();
@@ -290,6 +289,71 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
return count;
}

@Override
public List<WxCouponChannelVo> newfindListVo(WxCouponChannel wxCouponChannel) {

List<Long> mcids = new ArrayList<>();
if(wxCouponChannel.getMerchantId() != null){
mcids = wxCouponMerchantMapper.findOneMerchantProductIds(wxCouponChannel.getTenantId(), wxCouponChannel.getMerchantId());
if(mcids == null || mcids.isEmpty()){
return null;
}
}
WxCoupon couponQ = new WxCoupon();
couponQ.setStatus(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode());
if(wxCouponChannel.getSupportTransfer() != null){
couponQ.setSupportTransfer(wxCouponChannel.getSupportTransfer());
}
if(wxCouponChannel.getUserCredit() != null){
couponQ.setUserCredit(wxCouponChannel.getUserCredit());
}
if(wxCouponChannel.getSourceType() != null){
couponQ.setSourceType(wxCouponChannel.getSourceType());
}
List<Long> cids = wxCouponMapper.findIdList(couponQ);
if(cids == null || cids.isEmpty()){
return null;
}
cids.retainAll(mcids);
wxCouponChannel.setCouponIds(cids);

List<WxCouponChannelVo> list = wxCouponChannelMapper.newfindCList(wxCouponChannel);
List<Long> couponIds = list.stream().map(cc -> cc.getCouponId()).collect(Collectors.toList());
Map<Long,WxCoupon> couponMap = wxCouponService.getCouponMap(couponIds,wxCouponChannel);
for (WxCouponChannelVo cc:list) {
WxCoupon c = couponMap.get(cc.getCouponId());
if(c != null){
cc.setRemainInventory(c.getRemainInventory());
cc.setInventory(c.getInventory());
cc.setCoverImg(c.getCoverImg());
cc.setSubTitle(c.getSubTitle());
cc.setSalePrice(c.getSalePrice());
cc.setUsePrice(c.getUsePrice());
cc.setPrice(c.getPrice());
cc.setTailPrice(c.getTailPrice());
cc.setOrigPrice(c.getOrigPrice());
cc.setUnit(c.getUnit());
cc.setUseLimitRule(c.getUseLimitRule());
cc.setUseLimitQuantity(c.getUseLimitQuantity());
cc.setSendType(c.getSendType());
cc.setSupportTransfer(c.getSupportTransfer());
cc.setPressLimitNum(c.getPressLimitNum());
cc.setAutoRefund(c.getAutoRefund());
cc.setConditions(c.getConditions());
cc.setValidType(c.getValidType());
cc.setValidStartDate(c.getValidStartDate());
cc.setValidEndDate(c.getValidEndDate());
cc.setPickStartDate(c.getPickStartDate());
cc.setPickEndDate(c.getPickEndDate());
cc.setValidDays(c.getValidDays());
cc.setCreditPrice(c.getCreditPrice());
cc.setContentType(c.getContentType());
cc.setSourceType(c.getSourceType());
}
}
return list;
}

private boolean isCouponMerchantValid(Long couponId,String tenantId) {
List<WxMerchantVo> merchantVoList = wxCouponMerchantMapper.findMerchantNameList(couponId,tenantId);
if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){


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

@@ -133,7 +133,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@Autowired
ExcelService excelService;


@Autowired
WxCreditHistoryService wxCreditHistoryService;



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

@@ -128,7 +128,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
record.setSortColumns(BaseEntity.SortField.CreateDate_DESC);
pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponSendMapper.findListVo(record));
List<Long> couponIds = pageInfo.getList().stream().map(cs -> cs.getCouponId()).collect(Collectors.toList());
Map<Long, String> couponMerchantMap = wxCouponService.getCouponMerchant(couponIds,record);
Map<Long, String> couponMerchantMap = wxCouponService.getCouponMerchantMap(couponIds,record);
for (WxCouponSendVo cs:pageInfo.getList()){
cs.setMerchantName(couponMerchantMap.get(cs.getCouponId()));
cs.setSendCount(wxCouponActionLogService.getCountByChannelId(record, cs.getSendType(), cs.getId()));


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

@@ -964,7 +964,7 @@ public class WxCouponServiceImpl implements WxCouponService {
}

@Override
public Map<Long, String> getCouponMerchant(List<Long> couponIds, TenantEntity tenantEntity) {
public Map<Long, String> getCouponMerchantMap(List<Long> couponIds, TenantEntity tenantEntity) {
Map<Long,String> couponMerchantMap = new HashMap<Long,String>();
if(null != couponIds && couponIds.size() > 0){
List<Long> merchantIds = wxCouponMerchantMapper.findMerchantByProductIds(tenantEntity.getTenantId(),couponIds);
@@ -999,5 +999,20 @@ public class WxCouponServiceImpl implements WxCouponService {
return couponMerchantMap;
}

@Override
public Map<Long, WxCoupon> getCouponMap(List<Long> couponIds, TenantEntity tenantEntity) {
Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>();
if(null != couponIds && couponIds.size() > 0){
WxCoupon couponQ = new WxCoupon();
couponQ.updateTenantInfo(tenantEntity);
couponQ.setIds(couponIds);
List<WxCoupon> couponList = wxCouponMapper.newfindCList(couponQ);
for (WxCoupon c:couponList) {
couponMap.put(c.getId(),c);
}
}
return couponMap;
}


}

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

@@ -230,16 +230,10 @@ public class WxGameServiceImpl implements WxGameService {
couponChannelQ.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_GAME.getCode());
couponChannelQ.setSubTargetId(record.getId());
couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
//TODO 待优化数据
List<WxCouponChannelVo> wxCouponChannelVos = RedisCacheUtils.getCacheListObject(redisTemplate, "gameCoupons:"+record.getId(), WxCouponChannelVo.class);
if (null == wxCouponChannelVos) {
wxCouponChannelVos = wxCouponChannelService.listVo(couponChannelQ);
if (null != wxCouponChannelVos) {
RedisCacheUtils.cache(redisTemplate, "gameCoupons:"+record.getId(), wxCouponChannelVos, 3600);
}
}
List<WxCouponChannelVo> voList = wxCouponChannelService.newfindListVo(couponChannelQ);

Map<Long, WxCouponChannelVo> wxCouponChannelsMap = new HashMap<Long, WxCouponChannelVo>();
for(WxCouponChannelVo wxCouponChannelVo: wxCouponChannelVos) {
for(WxCouponChannelVo wxCouponChannelVo: voList) {
wxCouponChannelsMap.put(wxCouponChannelVo.getCouponId(), wxCouponChannelVo);
}



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

@@ -244,10 +244,8 @@ public class WxTopicServiceImpl implements WxTopicService {
wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC);
wxCouponChannel.setShowBeginTime(new Date());
wxCouponChannel.setSubTargetId(wxTopic.getId());
List<WxCouponChannelVo> wxCouponChannelVos = wxCouponChannelService.listVo(wxCouponChannel);
if(wxCouponChannelVos != null && wxCouponChannelVos.size() > 0){
wxTopic.setCouponList(wxCouponChannelVos);
}
List<WxCouponChannelVo> voList = wxCouponChannelService.newfindListVo(wxCouponChannel);
wxTopic.setCouponList(voList);
}
return wxTopic;
}


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

@@ -213,13 +213,6 @@
<result column="content_type" jdbcType="INTEGER" property="contentType"/>
<result column="source_type" jdbcType="INTEGER" property="sourceType"/>


<!--<collection column="{productId=coupon_id,tenantId=tenant_id}" property="merchantVoList"
ofType="com.iformall.domain.vo.WxMerchantVo"
javaType="java.util.List"
select="com.iformall.mapper.WxCouponMerchantMapper.findMerchantNameList" >
</collection>-->

</resultMap>

<select id="findVoList" parameterType="com.iformall.domain.po.WxCouponChannel" resultMap="CouponChannelVoMap">
@@ -434,4 +427,87 @@
</update>


<select id="newfindCList" parameterType="com.iformall.domain.po.WxCouponChannel" resultMap="BaseResultMap">
select cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,
cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`show_begin_time`,cc.`begin_time`,cc.`end_time`,cc.`status`,
cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code
from wx_coupon_channel cc
where cc.status = 0

<if test=" null != id ">
and cc.`id` = #{id}
</if>

<if test=" null != tenantId and '' != tenantId">
and cc.`tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and cc.`parent_tenant_id` = #{parentTenantId}
</if>

<if test=" null != couponId ">
and cc.`coupon_id` = #{couponId}
</if>

<if test=" null != type ">
and cc.`type` = #{type}
</if>

<if test=" null != title and ''!= title">
and cc.`title` like concat('%', #{title},'%')
</if>

<if test=" null != targetAd ">
and cc.`target_ad` = #{targetAd}
</if>

<if test=" null != business ">
and cc.`business` = #{business}
</if>

<if test=" null != subBusiness ">
and cc.`sub_business` = #{subBusiness}
</if>

<if test=" null != showBeginTime ">
and cc.`show_begin_time` &lt;= #{showBeginTime}
</if>

<if test=" null != startdate and null!=enddate">
and cc.`create_date` between #{startdate} and #{enddate}
</if>

<if test=" null != status ">
and cc.`status` = #{status}
</if>

<if test=" null != createDate ">
and cc.`create_date` = #{createDate}
</if>

<if test=" null != updateDate ">
and cc.`update_date` = #{updateDate}
</if>

<if test=" null != subTargetId ">
and cc.`sub_target_id` = #{subTargetId}
</if>
<if test=" null != merchantId ">
and cm.`merchant_id` = #{merchantId}
</if>

<if test=" null != ids ">
and cc.id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test=" null != couponIds ">
and cc.coupon_id in
<foreach collection="couponIds" index="index" item="couponIdsItem" open="(" separator="," close=")">
#{couponIdsItem}
</foreach>
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
</select>
</mapper>

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

@@ -255,6 +255,9 @@
<if test=" null != creditPrice ">
and `credit_price` = #{creditPrice}
</if>
<if test=" null != userCredit ">
and `credit_price` &lt;= #{userCredit}
</if>

<if test=" null != creditRefund ">
and `credit_refund` = #{creditRefund}
@@ -1228,4 +1231,21 @@
<update id="updateValidEndDate" parameterType="com.iformall.domain.po.WxCoupon">
update wx_coupon set valid_end_date = #{validEndDate} , update_date = #{updateDate} where id = #{id}
</update>

<select id="newfindCList" parameterType="com.iformall.domain.po.WxCoupon" resultMap="BaseResultMap">
select id,remain_inventory,inventory,cover_img,sub_title,sale_price,use_price,price,tail_price,
orig_price,unit,use_limit_rule,use_limit_quantity,send_type,support_transfer,press_limit_num,auto_refund,
conditions,valid_type,valid_start_date,valid_end_date,pick_start_date,pick_end_date,valid_days,credit_price,
content_type,source_type
from wx_coupon where `tenant_id` = #{tenantId}
<if test=" null != id ">
and `id` = #{id}
</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
</select>
</mapper>

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

@@ -173,6 +173,19 @@
</if>
</select>

<select id = "findOneMerchantProductIds" parameterType="java.util.Map" resultType="Long">
SELECT wcm.product_id
FROM wx_coupon_merchant wcm
WHERE wcm.STATUS = 0
<if test=" null != tenantId and '' != tenantId">
and wcm.`tenant_id` = #{tenantId}
</if>

<if test=" null != merchantId">
and wcm.merchant_id = #{merchantId}
</if>
</select>

<select id = "findMerchantByProductIds" parameterType="java.util.Map" resultType="Long">
SELECT distinct wcm.merchant_id
FROM wx_coupon_merchant wcm


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