Commit 3ee4cb6e authored by shiyu's avatar shiyu

Merge branch 'master' into quanku_v2.0

# Conflicts:
#	ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/DistributorShareRecordRequestDto.java
parents 871c5d01 702c981f
...@@ -113,7 +113,7 @@ public class AliSmsSender implements SmsSender { ...@@ -113,7 +113,7 @@ public class AliSmsSender implements SmsSender {
.setPhoneNumbers(phone) .setPhoneNumbers(phone)
.setTemplateCode(templateCode) .setTemplateCode(templateCode)
.setTemplateParam(JsonUtils.fromMap(map)) .setTemplateParam(JsonUtils.fromMap(map))
.setSignName("玩物得志"); .setSignName("换藏小程序");
SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new com.aliyun.teautil.models.RuntimeOptions()); SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new com.aliyun.teautil.models.RuntimeOptions());
logger.info("拍卖通知发送结果 : {} ", JsonUtils.from(sendSmsResponse)); logger.info("拍卖通知发送结果 : {} ", JsonUtils.from(sendSmsResponse));
if ("OK".equals(sendSmsResponse.getBody().code)) { if ("OK".equals(sendSmsResponse.getBody().code)) {
......
...@@ -54,9 +54,11 @@ public class DistributorShareRecordRequestDto extends BaseRequestDto implements ...@@ -54,9 +54,11 @@ public class DistributorShareRecordRequestDto extends BaseRequestDto implements
private Date createTime; private Date createTime;
/** /**
* 类型 * 分享类型
*/ */
private Integer type; private Integer type;
} }
...@@ -43,7 +43,7 @@ public class DistributorShareRecordDaoImpl implements DistributorShareRecordDao ...@@ -43,7 +43,7 @@ public class DistributorShareRecordDaoImpl implements DistributorShareRecordDao
@Override @Override
public List<DistributorShareRecord> findMaxPriceRecord(DistributorShareRecordRequestDto dto) { public List<DistributorShareRecord> findMaxPriceRecord(DistributorShareRecordRequestDto dto) {
List<DistributorShareRecord> distributorShareRecords = distributorShareRecordMapper.findMaxPriceRecord(dto.getDistributorId()); List<DistributorShareRecord> distributorShareRecords = distributorShareRecordMapper.findMaxPriceRecord(dto.getDistributorId(), dto.getType());
return distributorShareRecords; return distributorShareRecords;
} }
......
...@@ -72,5 +72,5 @@ public interface DistributorShareRecordMapper { ...@@ -72,5 +72,5 @@ public interface DistributorShareRecordMapper {
* @param distributorId * @param distributorId
* @return * @return
*/ */
List<DistributorShareRecord> findMaxPriceRecord(@Param("distributorId") long distributorId); List<DistributorShareRecord> findMaxPriceRecord(@Param("distributorId") long distributorId, @Param("type") int type);
} }
\ No newline at end of file
...@@ -369,14 +369,14 @@ ...@@ -369,14 +369,14 @@
limit 1 limit 1
</select> </select>
<select id="findMaxPriceRecord" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="findMaxPriceRecord" parameterType="java.lang.Number" resultMap="BaseResultMap">
SELECT d.* SELECT d.*
FROM distributor_share_record d FROM distributor_share_record d
JOIN JOIN
(SELECT item_id, MAX(price) as max_amount (SELECT item_id, MAX(price) as max_amount
FROM distributor_share_record where `distributor_id` = #{distributorId} AND enabled =1 FROM distributor_share_record where `distributor_id` = #{distributorId} AND `type` = #{type} AND enabled =1
GROUP BY item_id) t GROUP BY item_id) t
ON d.item_id = t.item_id AND price = t.max_amount where d.distributor_id = #{distributorId}; ON d.item_id = t.item_id AND price = t.max_amount where d.distributor_id = #{distributorId} AND d.type = #{type};
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -3,12 +3,17 @@ package com.wwdz.ch.wx.api; ...@@ -3,12 +3,17 @@ package com.wwdz.ch.wx.api;
import com.wwdz.ch.core.util.OkHttpUtil; import com.wwdz.ch.core.util.OkHttpUtil;
import com.wwdz.ch.wx.entity.request.WxCheckMediaRequestDto; import com.wwdz.ch.wx.entity.request.WxCheckMediaRequestDto;
import com.wwdz.ch.wx.manager.WxLoginManager; import com.wwdz.ch.wx.manager.WxLoginManager;
import com.wwdz.mall.api.notify.server.ItemShortUrlServer;
import com.wwdz.mall.common.vo.response.CloudServerResponse;
import com.xxdxxs.utils.JsonUtils;
import com.alibaba.dubbo.config.annotation.Reference;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.xml.ws.soap.Addressing; import javax.xml.ws.soap.Addressing;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -24,12 +29,18 @@ public class WxAppletApi { ...@@ -24,12 +29,18 @@ public class WxAppletApi {
@Value("${dts.wx.app-secret}") @Value("${dts.wx.app-secret}")
private String APPLET_APP_SECRET; private String APPLET_APP_SECRET;
@Value("${dts.wx.auction-msg-url}")
private String AUCTION_MSG_URL;
@Autowired @Autowired
WxLoginManager wxLoginManager; WxLoginManager wxLoginManager;
// 微信小程序音视频内容安全识别地址 // 微信小程序音视频内容安全识别地址
private static final String MEDIA_CHECK_URL = "https://api.weixin.qq.com/wxa/media_check_async?access_token=%s"; private static final String MEDIA_CHECK_URL = "https://api.weixin.qq.com/wxa/media_check_async?access_token=%s";
//获取urllink
private static final String URL_LINK = "https://api.weixin.qq.com/wxa/generate_urllink?access_token=%s";
public String checkMedia(WxCheckMediaRequestDto dto) { public String checkMedia(WxCheckMediaRequestDto dto) {
String accessToken = wxLoginManager.getAccessToken(); String accessToken = wxLoginManager.getAccessToken();
...@@ -47,4 +58,37 @@ public class WxAppletApi { ...@@ -47,4 +58,37 @@ public class WxAppletApi {
logger.info("[checkMedia] response :{}", responseStr); logger.info("[checkMedia] response :{}", responseStr);
return responseStr; return responseStr;
} }
public String getUrlLink(String query) {
String urlLink = "";
try {
String accessToken = wxLoginManager.getAccessToken();
String url = String.format(URL_LINK, accessToken);
StringBuffer stringBuffer = new StringBuffer(AUCTION_MSG_URL);
OkHttpUtil okHttpUtil = OkHttpUtil.builder().url(url);
Map<String, Object> map = new HashMap<>();
map.put("path", stringBuffer.toString());
map.put("query", query);
map.put("is_expire", true);
map.put("expire_type", 1);
map.put("expire_interval", 1);
logger.info("获取加密URLLink 参数:{}", JsonUtils.from(map));
okHttpUtil.addParams(map);
okHttpUtil.post(true);
String responseStr = okHttpUtil.async();
logger.info("获取加密URLLink response :{}", responseStr);
String msg = JsonUtils.getValueByPath(responseStr, "errmsg");
if ("ok".equals(msg)) {
urlLink = JsonUtils.getValueByPath(responseStr, "url_link");
}
} catch (Exception e) {
logger.error("获取小程序urlLink失败:{}", e);
}
return urlLink + " ";
}
} }
...@@ -17,6 +17,7 @@ import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord; ...@@ -17,6 +17,7 @@ import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto; import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo;
...@@ -82,6 +83,9 @@ public class AuctionRecordServiceImpl implements AuctionRecordService { ...@@ -82,6 +83,9 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
@Autowired @Autowired
AliSmsSender aliSmsSender; AliSmsSender aliSmsSender;
@Autowired
WxAppletApi wxAppletApi;
@Override @Override
@Transactional @Transactional
...@@ -129,13 +133,15 @@ public class AuctionRecordServiceImpl implements AuctionRecordService { ...@@ -129,13 +133,15 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
auctionOfferNoticeMsg.setOpenId(openId); auctionOfferNoticeMsg.setOpenId(openId);
Result result = sendMsgService.sendAuctionOfferOutMsg(auctionOfferNoticeMsg); Result result = sendMsgService.sendAuctionOfferOutMsg(auctionOfferNoticeMsg);
if (!result.getSuccess()) { if (!result.getSuccess()) {
String url = wxAppletApi.getUrlLink("itemId=" + itemId + "&shareRecordId=");
String msg = "您出价过的拍品" + supplierItem.getName() + "的价格被其他人超越了, 当前价是" + PriceUtil.convertPriceFenToYuan(price) + String msg = "您出价过的拍品" + supplierItem.getName() + "的价格被其他人超越了, 当前价是" + PriceUtil.convertPriceFenToYuan(price) +
"元,竞拍截止时间是" + DateUtils.toString(endTime) +", 请前往\"换藏小程序\"查看"; "元,竞拍截止时间是" + DateUtils.toString(endTime) +", 请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg); aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg);
} }
} else { } else {
String url = wxAppletApi.getUrlLink("itemId=" + itemId + "&shareRecordId=");
String msg = "您出价过的拍品" + supplierItem.getName() + "的价格被其他人超越了, 当前价是" + PriceUtil.convertPriceFenToYuan(price) + String msg = "您出价过的拍品" + supplierItem.getName() + "的价格被其他人超越了, 当前价是" + PriceUtil.convertPriceFenToYuan(price) +
"元,竞拍截止时间是" + DateUtils.toString(endTime) +", 请前往\"换藏小程序\"查看"; "元,竞拍截止时间是" + DateUtils.toString(endTime) +", 请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg); aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg);
} }
} }
...@@ -170,13 +176,15 @@ public class AuctionRecordServiceImpl implements AuctionRecordService { ...@@ -170,13 +176,15 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
auctionOfferNoticeMsg.setCurrentPrice(PriceUtil.convertPriceFenToYuan(price)); auctionOfferNoticeMsg.setCurrentPrice(PriceUtil.convertPriceFenToYuan(price));
Result result = sendMsgService.offerNoticeToDistributorMsg(auctionOfferNoticeMsg); Result result = sendMsgService.offerNoticeToDistributorMsg(auctionOfferNoticeMsg);
if (!result.getSuccess()) { if (!result.getSuccess()) {
String url = wxAppletApi.getUrlLink("itemId=" + itemId + "&shareRecordId=");
String msg = "您分销的拍品" + supplierItem.getName() + "有人成出价" + PriceUtil.convertPriceFenToYuan(price) + String msg = "您分销的拍品" + supplierItem.getName() + "有人成出价" + PriceUtil.convertPriceFenToYuan(price) +
"元,请前往\"换藏小程序\"查看"; "元,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(distributorShareRecord.getDistributorId(), msg); aliSmsSender.sendAuctionWithTemplate(distributorShareRecord.getDistributorId(), msg);
} }
} else { } else {
String url = wxAppletApi.getUrlLink("itemId=" + itemId + "&shareRecordId=");
String msg = "您分销的拍品" + supplierItem.getName() + "有人成出价" + PriceUtil.convertPriceFenToYuan(price) + String msg = "您分销的拍品" + supplierItem.getName() + "有人成出价" + PriceUtil.convertPriceFenToYuan(price) +
"元,请前往\"换藏小程序\"查看"; "元,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(distributorShareRecord.getDistributorId(), msg); aliSmsSender.sendAuctionWithTemplate(distributorShareRecord.getDistributorId(), msg);
} }
return Result.success(); return Result.success();
......
...@@ -18,6 +18,7 @@ import com.wwdz.ch.db.domain.User; ...@@ -18,6 +18,7 @@ import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.DeliveryNoticeMsg; import com.wwdz.ch.wx.entity.DeliveryNoticeMsg;
import com.wwdz.ch.wx.entity.SignedNoticeMsg; import com.wwdz.ch.wx.entity.SignedNoticeMsg;
...@@ -95,6 +96,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -95,6 +96,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Autowired @Autowired
AliSmsSender aliSmsSender; AliSmsSender aliSmsSender;
@Autowired
WxAppletApi wxAppletApi;
@Transactional @Transactional
@Override @Override
public Result createDistributionOrder(DistributionOrderRequestDto dto) { public Result createDistributionOrder(DistributionOrderRequestDto dto) {
...@@ -280,13 +284,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -280,13 +284,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
auctionOfferNoticeMsg.setProfit(PriceUtil.convertDoubleToString(Math.floor(averageProfit))); auctionOfferNoticeMsg.setProfit(PriceUtil.convertDoubleToString(Math.floor(averageProfit)));
Result result = sendMsgService.auctionSuccessForDistributorsMsg(auctionOfferNoticeMsg); Result result = sendMsgService.auctionSuccessForDistributorsMsg(auctionOfferNoticeMsg);
if (!result.getSuccess()) { if (!result.getSuccess()) {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) +
"元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(averageProfit)) + "元。请前往\"换藏小程序\"查看"; "元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(averageProfit)) + "元。请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(record.getDistributorId(), msg); aliSmsSender.sendAuctionWithTemplate(record.getDistributorId(), msg);
} }
} else { } else {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) +
"元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(averageProfit)) + "元。请前往\"换藏小程序\"查看"; "元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(averageProfit)) + "元。请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(record.getDistributorId(), msg); aliSmsSender.sendAuctionWithTemplate(record.getDistributorId(), msg);
} }
} }
...@@ -306,13 +312,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -306,13 +312,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
auctionOfferNoticeMsg.setPayEndTime(payEndTime); auctionOfferNoticeMsg.setPayEndTime(payEndTime);
Result result = sendMsgService.auctionSuccessMsg(auctionOfferNoticeMsg); Result result = sendMsgService.auctionSuccessMsg(auctionOfferNoticeMsg);
if (!result.getSuccess()) { if (!result.getSuccess()) {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" + String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" +
DateUtils.toString(payEndTime) + "前完成付款,请前往\"换藏小程序\"查看。"; DateUtils.toString(payEndTime) + "前完成付款,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg); aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg);
} }
} else { } else {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" + String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" +
DateUtils.toString(payEndTime) + "前完成付款,请前往\"换藏小程序\"查看。"; DateUtils.toString(payEndTime) + "前完成付款,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg); aliSmsSender.sendAuctionWithTemplate(auctionRecord.getUserId(), msg);
} }
//给中拍用户对应分销商发消息 //给中拍用户对应分销商发消息
...@@ -328,13 +336,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -328,13 +336,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
auctionOfferNoticeMsg.setProfit(PriceUtil.convertDoubleToString(Math.floor(profit))); auctionOfferNoticeMsg.setProfit(PriceUtil.convertDoubleToString(Math.floor(profit)));
Result result = sendMsgService.auctionSuccessForDistributorsMsg(auctionOfferNoticeMsg); Result result = sendMsgService.auctionSuccessForDistributorsMsg(auctionOfferNoticeMsg);
if (!result.getSuccess()) { if (!result.getSuccess()) {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) +
"元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(profit)) + "元。请前往\"换藏小程序\"查看"; "元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(profit)) + "元。请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(distributionOrder.getSellerId(), msg); aliSmsSender.sendAuctionWithTemplate(distributionOrder.getSellerId(), msg);
} }
} else { } else {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + String msg = "您分销的拍品" + supplierItem.getName() + "已成拍,成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) +
"元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(profit)) + "元。请前往\"换藏小程序\"查看"; "元,您预计获得利润" + PriceUtil.convertDoubleToString(Math.floor(profit)) + "元。请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(distributionOrder.getSellerId(), msg); aliSmsSender.sendAuctionWithTemplate(distributionOrder.getSellerId(), msg);
} }
......
...@@ -23,6 +23,7 @@ import com.wwdz.ch.wx.service.distribution.DistributionOrderService; ...@@ -23,6 +23,7 @@ import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.SupplierItemService; import com.wwdz.ch.wx.service.distribution.SupplierItemService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
...@@ -264,8 +265,11 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -264,8 +265,11 @@ public class SupplierItemServiceImpl implements SupplierItemService {
} }
DistributorShareRecordRequestDto distributorShareRecordRequestDto = new DistributorShareRecordRequestDto(); DistributorShareRecordRequestDto distributorShareRecordRequestDto = new DistributorShareRecordRequestDto();
distributorShareRecordRequestDto.setDistributorId(sellerId); distributorShareRecordRequestDto.setDistributorId(sellerId);
distributorShareRecordRequestDto.setType(dto.getType());
List<DistributorShareRecord> distributorShareRecordList = distributorShareRecordDao.findMaxPriceRecord(distributorShareRecordRequestDto); List<DistributorShareRecord> distributorShareRecordList = distributorShareRecordDao.findMaxPriceRecord(distributorShareRecordRequestDto);
logger.info("distributorShareRecordList >>>>> : {}", distributorShareRecordList);
Map<Long, DistributorShareRecord> map = distributorShareRecordList.stream().collect(Collectors.toMap(DistributorShareRecord::getItemId, Function.identity(), (k1, k2) -> k1)); Map<Long, DistributorShareRecord> map = distributorShareRecordList.stream().collect(Collectors.toMap(DistributorShareRecord::getItemId, Function.identity(), (k1, k2) -> k1));
logger.info(">>>>>>> map >>>>> : {}", JsonUtils.from(map));
List<Long> itemIds = distributorShareRecordList.stream().map(DistributorShareRecord::getItemId).collect(Collectors.toList()); List<Long> itemIds = distributorShareRecordList.stream().map(DistributorShareRecord::getItemId).collect(Collectors.toList());
SupplierItemRequestDto searchDto = new SupplierItemRequestDto(); SupplierItemRequestDto searchDto = new SupplierItemRequestDto();
searchDto.setIsOnSale(true); searchDto.setIsOnSale(true);
...@@ -276,13 +280,14 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -276,13 +280,14 @@ public class SupplierItemServiceImpl implements SupplierItemService {
searchDto.setPage(dto.getPage()); searchDto.setPage(dto.getPage());
searchDto.setLimit(dto.getLimit()); searchDto.setLimit(dto.getLimit());
List<SupplierItem> supplierItemList = supplierItemDao.findList(searchDto); List<SupplierItem> supplierItemList = supplierItemDao.findList(searchDto);
logger.info(">>>>>>> supplierItemList >>>>> : {}", JsonUtils.from(supplierItemList));
PageInfo<SupplierItem> pageInfo = new PageInfo(supplierItemList); PageInfo<SupplierItem> pageInfo = new PageInfo(supplierItemList);
supplierItemList.forEach(supplierItem -> { supplierItemList.forEach(supplierItem -> {
SupplierItemVo supplierItemVo = new SupplierItemVo(); SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo); EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setSalePrice(PriceUtil.convertPriceFenToYuan(map.get(supplierItem.getId()).getPrice())); supplierItemVo.setSalePrice(PriceUtil.convertPriceFenToYuan(map.get(supplierItem.getId()).getPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos())); supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
logger.info("商品id:{}, 对应shareid : {}", supplierItem.getId(), map.get(supplierItem.getId()).getShareId());
supplierItemVo.setShareId(map.get(supplierItem.getId()).getShareId()); supplierItemVo.setShareId(map.get(supplierItem.getId()).getShareId());
//竞拍商品需要展示当前价 //竞拍商品需要展示当前价
if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) { if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
......
...@@ -14,6 +14,7 @@ import com.wwdz.ch.db.domain.distribution.AuctionRecord; ...@@ -14,6 +14,7 @@ import com.wwdz.ch.db.domain.distribution.AuctionRecord;
import com.wwdz.ch.db.domain.distribution.DistributionOrder; import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem; import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.wx.service.distribution.SendMsgService;
...@@ -81,6 +82,9 @@ public class AutoSendMsgJob { ...@@ -81,6 +82,9 @@ public class AutoSendMsgJob {
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired
WxAppletApi wxAppletApi;
/** /**
* 隔5分钟运行一次 * 隔5分钟运行一次
*/ */
...@@ -130,7 +134,8 @@ public class AutoSendMsgJob { ...@@ -130,7 +134,8 @@ public class AutoSendMsgJob {
aliSmsSender.sendAuctionWithTemplate(userId, msg); aliSmsSender.sendAuctionWithTemplate(userId, msg);
logger.info("================商品id:{}, 将在1小时内结束,提醒短信发送成功 ==============", supplierItem.getId()); logger.info("================商品id:{}, 将在1小时内结束,提醒短信发送成功 ==============", supplierItem.getId());
}*/ }*/
String msg = "您出过价的拍品" + supplierItem.getName() + ",将在1小时内结束,请前往\"换藏小程序\"查看。"; String url = wxAppletApi.getUrlLink("itemId=" + itemId + "&shareRecordId=");
String msg = "您出过价的拍品" + supplierItem.getName() + ",将在1小时内结束,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(userId, msg); aliSmsSender.sendAuctionWithTemplate(userId, msg);
logger.info("================商品id:{}, 将在1小时内结束,提醒短信发送成功 ==============", supplierItem.getId()); logger.info("================商品id:{}, 将在1小时内结束,提醒短信发送成功 ==============", supplierItem.getId());
redisUtils.set(abortEndKey, itemId, 3600); redisUtils.set(abortEndKey, itemId, 3600);
...@@ -194,14 +199,16 @@ public class AutoSendMsgJob { ...@@ -194,14 +199,16 @@ public class AutoSendMsgJob {
auctionOfferNoticeMsg.setPayEndTime(payEndTime); auctionOfferNoticeMsg.setPayEndTime(payEndTime);
Result result = sendMsgService.prePayMsg(auctionOfferNoticeMsg); Result result = sendMsgService.prePayMsg(auctionOfferNoticeMsg);
if (!result.getSuccess()) { if (!result.getSuccess()) {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
//发短信 //发短信
String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" + String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" +
DateUtils.toString(payEndTime) + "前完成付款,请前往\"换藏小程序\"查看。"; DateUtils.toString(payEndTime) + "前完成付款,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(userId, msg); aliSmsSender.sendAuctionWithTemplate(userId, msg);
} }
} else { } else {
String url = wxAppletApi.getUrlLink("itemId=" + supplierItem.getId() + "&shareRecordId=");
String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" + String msg = "您已中拍" + supplierItem.getName() + ",成交价是" + PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()) + "元,请在" +
DateUtils.toString(payEndTime) + "前完成付款,请前往\"换藏小程序\"查看。"; DateUtils.toString(payEndTime) + "前完成付款,请前往"+ url + "查看";
aliSmsSender.sendAuctionWithTemplate(userId, msg); aliSmsSender.sendAuctionWithTemplate(userId, msg);
logger.info("================订单号:{}, 催付款短信通知发送成功 ==============", distributionOrder.getDistributionOrderId()); logger.info("================订单号:{}, 催付款短信通知发送成功 ==============", distributionOrder.getDistributionOrderId());
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment