diff --git a/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoMemberSearchVO.java b/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoMemberSearchVO.java index 727eb0a..d439ef1 100644 --- a/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoMemberSearchVO.java +++ b/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoMemberSearchVO.java @@ -101,6 +101,14 @@ public class TaoBaoMemberSearchVO implements Serializable { @ApiModelProperty("平均成交价 上限") private BigDecimal averageEndPrice; + + /** + * 评价状态 + */ + @Query(propName = "buyerRate") + @ApiModelProperty("评价状态") + private Boolean rateStatus; + /* *//** * 0: 不限查询 1: 有中差评,无退款 2: 无中差评,有退款 3: 有中差评,有退款 *//* diff --git a/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoOrderSearchVO.java b/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoOrderSearchVO.java index 4429cc4..f20eef2 100644 --- a/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoOrderSearchVO.java +++ b/service/trade-service-source/trade-service-source-api/src/main/java/com/hchbox/vo/taobao/TaoBaoOrderSearchVO.java @@ -108,9 +108,9 @@ public class TaoBaoOrderSearchVO implements Serializable { /** * 评价状态 */ - @Query + @Query(propName = "buyerRate") @ApiModelProperty("评价状态") - private Integer rateStatus; + private Boolean rateStatus; /** * 退款状态 diff --git a/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/TopItemController.java b/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/TopItemController.java index 43dbdac..024bd5a 100644 --- a/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/TopItemController.java +++ b/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/TopItemController.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController; * @date : 2021/10/16 */ @Slf4j -@Api(tags = "逃吧商品相关信息") +@Api(tags = "淘宝商品相关信息") @RestController @RequestMapping("/source/item") @AllArgsConstructor diff --git a/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/MessageTest.java b/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/MessageTest.java index fe702e8..3b207ce 100644 --- a/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/MessageTest.java +++ b/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/MessageTest.java @@ -2,6 +2,7 @@ package com.hchbox; import com.hchbox.entity.master.SendTemplate; import com.hchbox.repository.master.SendTemplateRepository; +import com.hchbox.service.MemberService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; @@ -22,6 +23,9 @@ import javax.annotation.Resource; public class MessageTest { + @Resource + private MemberService memberService; + @Resource private SendTemplateRepository sendTemplateRepository; @@ -31,4 +35,10 @@ public class MessageTest { Page byUserIdOrUserId = sendTemplateRepository.findByUserIdOrUserId(12360L,0L, of); byUserIdOrUserId.getContent(); } + + + @Test + public void updateMember(){ + memberService.updateMemberBySellerNick("陶娟娟1983", "卡布奇诺3304"); + } } diff --git a/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/SlaverTest.java b/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/SlaverTest.java index 6935afc..a2e2dd4 100644 --- a/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/SlaverTest.java +++ b/service/trade-service-source/trade-service-source-core/src/test/java/com/hchbox/SlaverTest.java @@ -156,20 +156,7 @@ public class SlaverTest { @Test public void delete() { - List list = new ArrayList<>(); - list.add("123"); - list.add("456"); - - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - String next = iterator.next(); - if (next.equals("123")) { - iterator.remove(); - } - if (iterator.equals("123")) { - continue; - } - } + List subAccountBySellerNick = sellerAccountService.findSubAccountBySellerNick(12482L); } @Test diff --git a/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/SellerAccountRepository.java b/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/SellerAccountRepository.java index 590a937..01498e1 100644 --- a/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/SellerAccountRepository.java +++ b/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/SellerAccountRepository.java @@ -1,6 +1,7 @@ package com.hchbox.repository.master; +import cn.hutool.core.date.DateTime; import com.hchbox.entity.master.SellerAccount; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; @@ -34,7 +35,7 @@ public interface SellerAccountRepository extends JpaRepository findByParentId(Long parentId); @@ -43,10 +44,11 @@ public interface SellerAccountRepository extends JpaRepository findByParentIdAndStatus(int status, Long parentId); + @Query("from SellerAccount where status = ?1 and parentId = ?2 and authorizeEndTime > ?3") + List findByParentIdAndStatus(int status, Long parentId, DateTime date); /** * sessionKey查找 diff --git a/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/TopOrderRegistry.java b/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/TopOrderRegistry.java index 2f53aca..a807640 100644 --- a/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/TopOrderRegistry.java +++ b/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/TopOrderRegistry.java @@ -22,4 +22,12 @@ public interface TopOrderRegistry extends JpaRepository, JpaSpec * @return */ List findByTid(Long tid); + + /** + * 查找订单 + * @param oid + * @param buyerNick + * @return + */ + TopOrder findByOidAndBuyerNick(Long oid,String buyerNick); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/hander/TradeRatedHandler.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/hander/TradeRatedHandler.java new file mode 100644 index 0000000..592ef5c --- /dev/null +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/hander/TradeRatedHandler.java @@ -0,0 +1,35 @@ +package com.hchbox.hander; + +import com.hchbox.annotaion.RedisLock; +import com.hchbox.hander.message.TaoBaoTradeMessage; +import com.hchbox.service.TopTradeService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +/** + * @author + * 订单评价相关消息 + */ +@Slf4j +@RequiredArgsConstructor +@Service("taobao_trade_TradeRated") +public class TradeRatedHandler implements TaoBaoHandler { + + + private final TopTradeService topTradeService; + + /** + * 处理 订单支付尾款逻辑 + */ + @Override + @RedisLock(lockName = "transactionEvaluationMessage", key = "#message.topic") + public boolean onMessage(TaoBaoTradeMessage message) { + if (message != null) { + return topTradeService.orderEvaluation(message); + } + return Boolean.FALSE; + } + +} diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/MemberService.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/MemberService.java index 1f31537..1bd7424 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/MemberService.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/MemberService.java @@ -55,5 +55,16 @@ public interface MemberService { */ CommonResult> queryMemberNickList(SellerAccountDTO sellerAccountDTO, TaoBaoMemberSearchVO memberSearchVO); + /** + * + * @param l + */ void getMemberTest(long l); + + /** + * 修改会员评价 + * @param buyerNick + * @param sellerNick + */ + void updateMemberBySellerNick(String buyerNick, String sellerNick); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopOrderService.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopOrderService.java index a78fc8b..b73aae4 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopOrderService.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopOrderService.java @@ -18,4 +18,14 @@ public interface TopOrderService { * @param orders */ void bulkInsertOrder(Long tid, String sellerNick, Long id, List orders); + + /** + * oid修改状态 + * @param oid + * @param buyerNick + * @param sellerNick + * @param status + * @param type + */ + void updateOrderStatusByOid(Long oid, String buyerNick, String sellerNick, String status, Integer type); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopTradeService.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopTradeService.java index f14801e..beb60fb 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopTradeService.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/TopTradeService.java @@ -141,4 +141,11 @@ public interface TopTradeService { * @throws IllegalAccessException */ CommonResult queryTrade(SellerAccountDTO accountDTO, Date startTime) throws ApiException, SecretException, NoSuchFieldException, IllegalAccessException; + + /** + * 订单评价 + * @param message + * @return + */ + Boolean orderEvaluation(TaoBaoTradeMessage message); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/MemberServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/MemberServiceImpl.java index b2f8cfd..641709c 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/MemberServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/MemberServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.hchbox.config.DataSourceConfiguration; import com.hchbox.constant.DefaultNumberConstants; @@ -27,7 +26,6 @@ import com.hchbox.service.MemberService; import com.hchbox.util.Arith; import com.hchbox.util.GenerateIdUtils; import com.hchbox.util.PageUtils; -import com.hchbox.util.QueryHelp; import com.hchbox.vo.PageVo; import com.hchbox.vo.taobao.TaoBaoMemberResponseVO; import com.hchbox.vo.taobao.TaoBaoMemberSearchVO; @@ -43,6 +41,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; /** @@ -302,8 +301,12 @@ public class MemberServiceImpl implements MemberService { stringBuilder.append(" and trade_count >= :successStartCount"); } + if (memberSearchVO.getRateStatus() != null) { + stringBuilder.append(" and buyer_rate >= :rateStatus"); + } + if (StringUtils.isNotBlank(memberSearchVO.getBuyerNick())) { - stringBuilder.append(" and buyer_nick = :buyerNick"); + stringBuilder.append(" and buyer_nick like CONCAT('%',:buyerNick,'%')"); } if (memberSearchVO.getStartConsumeSumMoney() != null) { @@ -349,5 +352,17 @@ public class MemberServiceImpl implements MemberService { } + @Override + public void updateMemberBySellerNick(String buyerNick, String sellerNick) { + HashMap hashMap = new HashMap<>(DefaultNumberConstants.SIXTEEN_NUMBER); + String updateString = "update " + TableConstants.MEMBER + Math.abs(sellerNick.hashCode()) % tableSum + + " set buyer_rate = :buyerRate, update_time = :updateTime where seller_nick = :sellerNick and buyer_nick = :buyerNick"; + hashMap.put("buyerRate", Boolean.TRUE); + hashMap.put("buyerNick", buyerNick); + hashMap.put("sellerNick",sellerNick); + hashMap.put("updateTime", DateUtil.date()); + namedParameterJdbcTemplate.update(updateString,hashMap); + } + } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/SellerAccountServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/SellerAccountServiceImpl.java index 13114ee..f6bb57f 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/SellerAccountServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/SellerAccountServiceImpl.java @@ -315,7 +315,8 @@ public class SellerAccountServiceImpl implements SellerAccountService { @Override public List queryAccountByParentIdAndStatus(Long parentId) { - List byParentIdAndStatus = sellerAccountRepository.findByParentIdAndStatus(DefaultNumberConstants.ONE_NUMBER, parentId); + List byParentIdAndStatus = sellerAccountRepository.findByParentIdAndStatus + (DefaultNumberConstants.ONE_NUMBER, parentId,DateUtil.date()); if (!CollectionUtils.isEmpty(byParentIdAndStatus)){ return Convert.toList(SellerAccount.class, byParentIdAndStatus); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaoBaoTradeServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaoBaoTradeServiceImpl.java index 0d79853..8323d76 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaoBaoTradeServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaoBaoTradeServiceImpl.java @@ -6,7 +6,6 @@ import com.hchbox.config.MiProperties; import com.hchbox.constant.FieldConstants; import com.hchbox.constant.TaoBaoDataMethodConstants; import com.hchbox.dto.SellerAccountDTO; -import com.hchbox.entity.master.TopTrade; import com.hchbox.service.TaoBaoTradeService; import com.hchbox.uitl.TaoBaoEncryption; import com.taobao.api.SecretException; diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaskMessageServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaskMessageServiceImpl.java index 289bcb8..824c1d2 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaskMessageServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TaskMessageServiceImpl.java @@ -113,14 +113,14 @@ public class TaskMessageServiceImpl implements TaskMessageService { message, submitSendMessageVo.getBuyerInfoList(), submitSendMessageVo.getOrderTidList()); }); - submitSendMessageVo.getBuyerInfoList().forEach(info -> { + submitSendMessageVo.getBuyerInfoList().forEach(submitSendMessageVo.getMessageInfo().contains(DefaultNumberConstants.DOLLAR_DELIM) ? (info -> { if (submitSendMessageVo.getMessageInfo().contains(RemindTemplates.BUYER_NICK)) { list.add(RemindTemplates.prepareMsg(submitSendMessageVo.getMessageInfo(), info)); } if (submitSendMessageVo.getMessageInfo().contains(RemindTemplates.SHOP_NAME)) { list.add(RemindTemplates.prepareMsg(submitSendMessageVo.getMessageInfo(), sellerAccount.getShopTitle())); } - }); + }) : (info -> list.add(submitSendMessageVo.getMessageInfo()))); hashMap.put("sendList", list); hashMap.put("buyerInfoList", submitSendMessageVo.getBuyerInfoList()); diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopOrderServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopOrderServiceImpl.java index 22e47f9..7033580 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopOrderServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopOrderServiceImpl.java @@ -1,13 +1,17 @@ package com.hchbox.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.hchbox.config.DataSourceConfiguration; +import com.hchbox.constant.TableConstants; import com.hchbox.entity.master.TopOrder; +import com.hchbox.repository.master.TopOrderRegistry; import com.hchbox.service.TopOrderService; import com.hchbox.util.GenerateIdUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; +import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.namedparam.SqlParameterSourceUtils; @@ -29,6 +33,8 @@ public class TopOrderServiceImpl implements TopOrderService { @Value("${hchbox.sub-tables}") private Integer tableSum; + private final TopOrderRegistry topOrderRegistry; + private final NamedParameterJdbcTemplate namedParameterJdbcTemplate; @Override @@ -58,4 +64,18 @@ public class TopOrderServiceImpl implements TopOrderService { SqlParameterSource[] beanSources = SqlParameterSourceUtils.createBatch(orders); namedParameterJdbcTemplate.batchUpdate(stringBuilder.toString(), beanSources); } + + @Override + public void updateOrderStatusByOid(Long oid, String buyerNick, String sellerNick, String status, Integer type) { + TopOrder byOid = topOrderRegistry.findByOidAndBuyerNick(oid, buyerNick); + if (byOid != null) { + String updateString = "update " + TableConstants.ORDER + Math.abs(sellerNick.hashCode()) % tableSum + + " set status = :status, buyer_rate = :buyerRate, modified = :modified where oid = :oid"; + byOid.setStatus(status); + byOid.setBuyerRate(Boolean.TRUE); + byOid.setModified(DateUtil.date()); + SqlParameterSource ps = new BeanPropertySqlParameterSource(byOid); + namedParameterJdbcTemplate.update(updateString, ps); + } + } } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopTradeServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopTradeServiceImpl.java index f399c30..0172ced 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopTradeServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/TopTradeServiceImpl.java @@ -164,7 +164,7 @@ public class TopTradeServiceImpl implements TopTradeService { TopTrade trade = topTradeRepository.findByTid(message.getTid()); if (trade != null && message.getStatus() != null) { log.info("=========== update order status the message as {} ===========", message.getStatus()); - updateOrderStatus(DefaultNumberConstants.TEN_NUMBER,trade.getSellerNick(),message.getStatus(),trade); + updateOrderStatus(DefaultNumberConstants.TEN_NUMBER, trade.getSellerNick(), message.getStatus(), trade); return Boolean.TRUE; } return Boolean.FALSE; @@ -177,8 +177,8 @@ public class TopTradeServiceImpl implements TopTradeService { public Boolean updateOrderStatusByMessage(TaoBaoRefundMessage message, String stateValue) { TopTrade trade = topTradeRepository.findByTid(message.getTid()); if (trade != null) { - log.info("=========== update refundOrder status the status as {} ===========",stateValue); - updateOrderStatus(DefaultNumberConstants.TEN_NUMBER,trade.getSellerNick(),stateValue,trade); + log.info("=========== update refundOrder status the status as {} ===========", stateValue); + updateOrderStatus(DefaultNumberConstants.TEN_NUMBER, trade.getSellerNick(), stateValue, trade); return Boolean.TRUE; } return Boolean.FALSE; @@ -316,7 +316,7 @@ public class TopTradeServiceImpl implements TopTradeService { } if (taoBaoOrderSearchVO.getRateStatus() != null) { - stringBuilder.append(" and rate_status = :rateStatus"); + stringBuilder.append(" and buyer_rate = :rateStatus"); } if (taoBaoOrderSearchVO.getType() != null) { stringBuilder.append(" and type != :type"); @@ -384,7 +384,7 @@ public class TopTradeServiceImpl implements TopTradeService { TopTrade trade = topTradeRepository.findByTid(tid); if (trade != null) { // 修改订单状态 - updateOrderStatus(type, buyerNick, orderStatus, trade); + updateOrderStatus(type, sellerAccountDTO.getNickname(), orderStatus, trade); List orderList = topOrderRegistry.findByTid(tid); if (!CollectionUtils.isEmpty(orderList)) { @@ -434,8 +434,7 @@ public class TopTradeServiceImpl implements TopTradeService { List longs = Convert.toList(Long.class, setting.getSendAccountIds().split(StrUtil.COMMA)); // 放入缓存 - String timeFormat = RandomUtil.randomEle(longs) - .toString() + String timeFormat = RandomUtil.randomEle(longs).toString() .concat(StrUtil.DASHED) .concat(TimeUtil.timeFormat()); Map sendMessageCache = cacheManagerUtil.getCache @@ -451,10 +450,10 @@ public class TopTradeServiceImpl implements TopTradeService { DateTime date = DateUtil.date(); StringBuilder updateString = new StringBuilder().append("update ") .append(TableConstants.TRADE) - .append(Math.abs(buyerNick.hashCode()) % tableSum) - .append(" set status = :status, "); + .append(Math.abs(buyerNick.hashCode()) % tableSum) + .append(" set status = :status, "); - if (type.equals(DefaultNumberConstants.TEN_NUMBER)){ + if (type.equals(DefaultNumberConstants.TEN_NUMBER)) { updateString.append(" modified = :modified, "); trade.setModified(date); } @@ -480,12 +479,11 @@ public class TopTradeServiceImpl implements TopTradeService { updateString.append(" where tid = :tid"); trade.setStatus(orderStatus); SqlParameterSource ps = new BeanPropertySqlParameterSource(trade); - namedParameterJdbcTemplate.update + namedParameterJdbcTemplate.update (StrUtil.replace (updateString.toString(), updateString.toString().lastIndexOf(StrUtil.COMMA), - StrUtil.COMMA, StrUtil.SPACE, - Boolean.TRUE), ps); + StrUtil.COMMA, StrUtil.SPACE, Boolean.TRUE), ps); } private TaskMessageInfo createTaskMessageInfo(String template, AppSetting setting, List sendNickList, TopTrade trade, Long taskId) { @@ -510,16 +508,18 @@ public class TopTradeServiceImpl implements TopTradeService { return Boolean.TRUE; } // 1 发送金额 限定范围 - double payment = Double.parseDouble(trade.getPayment()); - if (payment > DefaultNumberConstants.ZERO_NUMBER) { - // 金额区间为空或者设置为0表示无限制 - if (setting.getPaymentFloor() != null && setting.getPaymentFloor() > 0 - && payment < setting.getPaymentFloor()) { - return Boolean.TRUE; - } - if (setting.getPaymentCeiling() != null && setting.getPaymentCeiling() > 0 - && payment > setting.getPaymentCeiling()) { - return Boolean.TRUE; + if (trade.getPayment() != null){ + double payment = Double.parseDouble(trade.getPayment()); + if (payment > DefaultNumberConstants.ZERO_NUMBER) { + // 金额区间为空或者设置为0表示无限制 + if (setting.getPaymentFloor() != null && setting.getPaymentFloor() > 0 + && payment < setting.getPaymentFloor()) { + return Boolean.TRUE; + } + if (setting.getPaymentCeiling() != null && setting.getPaymentCeiling() > 0 + && payment > setting.getPaymentCeiling()) { + return Boolean.TRUE; + } } } @@ -594,8 +594,8 @@ public class TopTradeServiceImpl implements TopTradeService { message.setTemplate(template); message.setTaskInfo(StrUtil.EMPTY); message.setIsFinish(Boolean.FALSE); - message.setSendType(setting.getType()); message.setSellerNick(setting.getSellerNick()); + message.setSendType(DefaultNumberConstants.THREE_NUMBER); message.setStatus(DefaultNumberConstants.ZERO_NUMBER); message.setTaskName(AppSettingTypeEnum.valueOf(type)); message.setSenderQuantity(DefaultNumberConstants.ONE_NUMBER); @@ -662,7 +662,7 @@ public class TopTradeServiceImpl implements TopTradeService { @Override - public CommonResult queryTrade(SellerAccountDTO accountDTO, Date startTime) + public CommonResult queryTrade(SellerAccountDTO accountDTO, Date startTime) throws ApiException, SecretException, NoSuchFieldException, IllegalAccessException { List jdpOrderList = jdpTradeService.findJdpOrderByTime(startTime, DateUtil.date()); @@ -681,5 +681,27 @@ public class TopTradeServiceImpl implements TopTradeService { return CommonResult.successfulOperation(); } + @Override + @DS(DataSourceConfiguration.SHARDING_DATASOURCE_NAME) + public Boolean orderEvaluation(TaoBaoTradeMessage message) { + TopTrade trade = topTradeRepository.findByTid(message.getTid()); + if (trade != null) { + String updateString = "update " + + TableConstants.TRADE + Math.abs(message.getSellerNick().hashCode()) % tableSum + + " set status = :status, buyer_rate = :buyerRate, modified = :modified where tid = :tid"; + trade.setStatus(message.getStatus()); + trade.setBuyerRate(Boolean.TRUE); + trade.setModified(DateUtil.date()); + SqlParameterSource ps = new BeanPropertySqlParameterSource(trade); + int result = namedParameterJdbcTemplate.update(updateString, ps); + if (result > DefaultNumberConstants.ZERO_NUMBER) { + memberService.updateMemberBySellerNick(message.getBuyerNick(), message.getSellerNick()); + topOrderService.updateOrderStatusByOid(message.getOid(), message.getBuyerNick(), message.getSellerNick(), message.getStatus(), DefaultNumberConstants.ONE_NUMBER); + } + return Boolean.TRUE; + } + return Boolean.FALSE; + } + } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/task/AccountTask.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/task/AccountTask.java index b72078c..074fa13 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/task/AccountTask.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/task/AccountTask.java @@ -16,7 +16,6 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; -import java.util.Objects; /** * @author Enzo diff --git a/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java b/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java index 40362ab..f06f837 100644 --- a/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java +++ b/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java @@ -117,6 +117,11 @@ public class DefaultNumberConstants { public static final String NAT_DELIM = "%"; + /** + * % + */ + public static final String DOLLAR_DELIM = "$"; + /** * 七彩之谜 */ diff --git a/trade-common/src/main/java/com/hchbox/model/entity/BaseAppSetting.java b/trade-common/src/main/java/com/hchbox/model/entity/BaseAppSetting.java index dd45d42..5917fd0 100644 --- a/trade-common/src/main/java/com/hchbox/model/entity/BaseAppSetting.java +++ b/trade-common/src/main/java/com/hchbox/model/entity/BaseAppSetting.java @@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; -import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; diff --git a/trade-common/src/main/java/com/hchbox/model/entity/BaseMember.java b/trade-common/src/main/java/com/hchbox/model/entity/BaseMember.java index 8ecee28..6de189e 100644 --- a/trade-common/src/main/java/com/hchbox/model/entity/BaseMember.java +++ b/trade-common/src/main/java/com/hchbox/model/entity/BaseMember.java @@ -190,5 +190,8 @@ public class BaseMember implements Serializable { @ApiModelProperty("最近一次发送旺旺群发时间") protected Date lastMessageTime; + @Column(name = "buyer_rate") + @ApiModelProperty("是否评价") + protected Boolean buyerRate; }