diff --git a/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/SynchronizedAmountServiceImpl.java b/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/SynchronizedAmountServiceImpl.java index 8c9369c..c2f5b07 100644 --- a/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/SynchronizedAmountServiceImpl.java +++ b/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/SynchronizedAmountServiceImpl.java @@ -84,16 +84,23 @@ public class SynchronizedAmountServiceImpl implements SynchronizedAmountService return new CommonResult<>().error("免费开通失败"); } payTwoOrder.setPayType(DefaultNumberConstants.ZERO_NUMBER); - payTwoOrder.setIdenticalAmount(null); + payTwoOrder.setIdenticalAmount(0.00); +// payTwoOrder.setHistoryNum((long) DefaultNumberConstants.ZERO_NUMBER); payTwoOrder.setAnticipateNum(NumberUtil.div(payTwoOrder.getAmount(), BigDecimal.valueOf(amount)).longValue()); payTwoOrder.setStatus(DefaultNumberConstants.ZERO_NUMBER); payTwoOrder.setPayTime(DateUtil.date()); PayTwoOrder save = payTwoOrderRepository.save(payTwoOrder); if (ObjectUtil.isNotEmpty(save)) { JSONObject jsonObject = requestCore.savePayTwoOrder(save); - if (DefaultNumberConstants.TWO_HUNDRED != (Integer) jsonObject.get("code")) { - log.error("==========免费开通订单同步,同步到聚石塔错误,{}", jsonObject); - return new CommonResult<>().error("同步错误"); + if (DefaultNumberConstants.TWO_HUNDRED == (Integer) jsonObject.get("code")) { + // 同步主账号 + if (requestCore.updateAccount(payTwoOrder) == DefaultNumberConstants.ZERO_NUMBER) { + log.error("==========免费开通订单同步,同步到聚石塔主账号错误,{}", payTwoOrder.getMasterUserId()); + return new CommonResult<>().error("同步主账号错误"); + } + } else { + log.error("==========免费开通淘宝同步,订单同步错误,{}", jsonObject); + return new CommonResult<>().error("免费开通淘宝同步,订单同步错误"); } return CommonResult.successfulOperation(); } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java index 660f1c3..9f6329c 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java @@ -1,31 +1,42 @@ package com.hchbox.module.controller; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.hchbox.constant.AuthConstants; +import com.hchbox.constant.DefaultNumberConstants; import com.hchbox.dto.BathSendMessageDTO; +import com.hchbox.dto.SellerAccountDTO; import com.hchbox.enums.ResponseCode; import com.hchbox.model.param.CommonResult; +import com.hchbox.module.entity.AutoWaitMessage; +import com.hchbox.module.entity.SellerAccount; import com.hchbox.module.service.DelayRemindService; -import com.hchbox.module.service.TimerTaskService; +import com.hchbox.module.service.SellerAccountService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @author wjt * @date 2021/7/22 * 接收即时性消息 */ +@Slf4j @RestController @RequestMapping("/task") @Api(tags = "实时消息") public class WwRemindController { - - @Resource - private TimerTaskService timerTaskService; @Resource private DelayRemindService delayRemindService; + @Resource + private SellerAccountService sellerAccountService; @PostMapping("/send/batchSend") @ApiOperation("接受消息") @@ -33,15 +44,6 @@ public class WwRemindController { if (bathSendMessageDTO == null) { return new CommonResult<>().validateFailed(ResponseCode.PARAMETER_ERROR.getDesc()); } -// timerTaskService.sendMessageToWebSocket(bathSendMessageDTO); - return CommonResult.successfulOperation(); - } - - /** - * 旺旺查询实时的消息 - */ - - public CommonResult wwTimelyRemindController() { return CommonResult.successfulOperation(); } @@ -52,8 +54,20 @@ public class WwRemindController { */ @GetMapping("/ww/message") @ApiOperation("接受消息") - public CommonResult wwDelayRemindController() { - return new CommonResult<>().success(delayRemindService.selectDelayRemind()); + public CommonResult wwDelayRemindController(HttpServletRequest request) { + String token = request.getParameter("TAO_MI_TOKEN"); + SellerAccount sellerAccount = sellerAccountService.findSellerAccountByAccessToken(token); + String sellerNick; + if (ObjectUtil.isEmpty(sellerAccount)) { + return new CommonResult<>().error("未找到卖家信息"); + } + if (sellerAccount.getParentId() == DefaultNumberConstants.ZERO_NUMBER) { + sellerNick = sellerAccount.getNickname(); + } else { + long parentId = sellerAccount.getParentId(); + sellerNick = sellerAccountService.findSellerAccountById(parentId).getNickname(); + } + return new CommonResult<>().success(delayRemindService.selectDelayRemind(sellerNick)); } @GetMapping("/test") diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java index d4321fa..7510ca8 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java @@ -5,10 +5,19 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @author wujingtao * @date 2021/09/29 */ @Repository public interface AutoWaitForMessageRepository extends JpaRepository, JpaSpecificationExecutor { + /** + * 根据发送人查询可发送的定时消息 + * + * @param sellerNick + * @return + */ + List findAllBySender(String sellerNick); } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/SellerAccountRepository.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/SellerAccountRepository.java index 2bd40fe..62ed747 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/SellerAccountRepository.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/SellerAccountRepository.java @@ -36,13 +36,20 @@ public interface SellerAccountRepository extends JpaRepository findByParentId(Long parentId); + /** - * 账户扣减旺旺条数 + * sessionKey查找 + * + * @param sessionKey + * @return + */ + SellerAccount findSellerAccountBySessionKey(String sessionKey); + + /** + * 根据id查询账号 * * @param id - * @param wwMassNum + * @return */ - @Modifying - @Query("update SellerAccount set wwMassNum = ?2 where id= ?1 ") - void update(Long id, Integer wwMassNum); + SellerAccount findSellerAccountById(Long id); } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java index 5d8c223..e7fd1a8 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java @@ -12,7 +12,8 @@ public interface DelayRemindService { /** * 查询可以发送的延迟行消息 * + * @param sellerNick * @return */ - List selectDelayRemind(); + List selectDelayRemind(String sellerNick); } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/SellerAccountService.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/SellerAccountService.java new file mode 100644 index 0000000..2e71fa4 --- /dev/null +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/SellerAccountService.java @@ -0,0 +1,25 @@ +package com.hchbox.module.service; + +import com.hchbox.module.entity.SellerAccount; + +/** + * @author wujingtao + * @date 2021/11/18 + */ +public interface SellerAccountService { + /** + * token查找账号 + * + * @param accessToken + * @return + */ + SellerAccount findSellerAccountByAccessToken(String accessToken); + + /** + * 根据id查询主账号 + * + * @param id + * @return + */ + SellerAccount findSellerAccountById(Long id); +} diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java index 85975c7..03c7a65 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java @@ -21,12 +21,11 @@ public class DelayRemindServiceImpl implements DelayRemindService { private AutoWaitForMessageRepository autoWaitForMessageRepository; @Override - public List selectDelayRemind() { - List list = new ArrayList<>(); + public List selectDelayRemind(String sellerNick) { + List list; try { - list = autoWaitForMessageRepository.findAll(); + list = autoWaitForMessageRepository.findAllBySender(sellerNick); if (CollectionUtil.isNotEmpty(list)) { -// list.stream().map(AutoWaitForMessage::getTaskId).collect(Collectors.toList()); for (AutoWaitMessage info : list) { autoWaitForMessageRepository.deleteById(info.getTaskId()); } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/SellerAccountServiceImpl.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/SellerAccountServiceImpl.java new file mode 100644 index 0000000..21c15fe --- /dev/null +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/SellerAccountServiceImpl.java @@ -0,0 +1,28 @@ +package com.hchbox.module.service.impl; + +import com.hchbox.module.dao.SellerAccountRepository; +import com.hchbox.module.entity.SellerAccount; +import com.hchbox.module.service.SellerAccountService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author wujingtao + * @date 2021/11/18 + */ +@Service +public class SellerAccountServiceImpl implements SellerAccountService { + @Resource + private SellerAccountRepository sellerAccountRepository; + + @Override + public SellerAccount findSellerAccountByAccessToken(String accessToken) { + return sellerAccountRepository.findSellerAccountBySessionKey(accessToken); + } + + @Override + public SellerAccount findSellerAccountById(Long id) { + return sellerAccountRepository.findSellerAccountById(id); + } +}