New file |
| | |
| | | package com.yeshi.fanli.dto.taobao;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | |
|
| | | public class TaoBaoOrderResultDTO {
|
| | | private boolean hasNext;
|
| | | private boolean hasPre;
|
| | | private String positionIndex;
|
| | | private List<TaoBaoOrder> orderList;
|
| | |
|
| | | public TaoBaoOrderResultDTO(boolean hasNext, boolean hasPre, String positionIndex, List<TaoBaoOrder> orderList) {
|
| | | this.hasNext = hasNext;
|
| | | this.hasPre = hasPre;
|
| | | this.positionIndex = positionIndex;
|
| | | this.orderList = orderList;
|
| | | }
|
| | |
|
| | | public boolean isHasNext() {
|
| | | return hasNext;
|
| | | }
|
| | |
|
| | | public void setHasNext(boolean hasNext) {
|
| | | this.hasNext = hasNext;
|
| | | }
|
| | |
|
| | | public boolean isHasPre() {
|
| | | return hasPre;
|
| | | }
|
| | |
|
| | | public void setHasPre(boolean hasPre) {
|
| | | this.hasPre = hasPre;
|
| | | }
|
| | |
|
| | | public String getPositionIndex() {
|
| | | return positionIndex;
|
| | | }
|
| | |
|
| | | public void setPositionIndex(String positionIndex) {
|
| | | this.positionIndex = positionIndex;
|
| | | }
|
| | |
|
| | | public List<TaoBaoOrder> getOrderList() {
|
| | | return orderList;
|
| | | }
|
| | |
|
| | | public void setOrderList(List<TaoBaoOrder> orderList) {
|
| | | this.orderList = orderList;
|
| | | }
|
| | | }
|
| | |
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | long endTime = System.currentTimeMillis() - 1000 * 60;
|
| | | ;
|
| | | updateOrder(endTime - 1000 * 60 * 20L, endTime);
|
| | | }
|
| | |
|
| | |
| | | public void doJob2() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | doTaoBaoWeiQuan();
|
| | |
|
| | | doTaoBaoWeiQuanOrder(2);
|
| | | orderProcessService.fanli();
|
| | | }
|
| | |
|
| | |
| | | orderProcessService.fanliInvaiteAndShare();
|
| | | }
|
| | |
|
| | | // 维权订单处理-处理最近60天的
|
| | | // 30分钟一次
|
| | | @Scheduled(cron = "0 0/30 * * * ? ")
|
| | | public void doTaoBaoWeiQuan() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | // 新版维权订单处理
|
| | | for (int i = 0; i < 60; i++) {
|
| | | private void doTaoBaoWeiQuanOrder(int day) {
|
| | |
|
| | | for (int i = 0; i < day; i++) {
|
| | | List<TaoBaoWeiQuanOrder> orderList = new ArrayList<>();
|
| | |
|
| | | // 按照维权发起时间查询
|
| | | WeiQuanOrderResult result = TaoKeOrderApiUtil
|
| | | .getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, false);
|
| | | "yyyy-MM-dd")), 1, 1, false);
|
| | | orderList.addAll(result.orderList);
|
| | | // 第三方
|
| | | result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, 1, true);
|
| | | orderList.addAll(result.orderList);
|
| | |
|
| | | result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, 1, false);
|
| | | orderList.addAll(result.orderList);
|
| | |
|
| | | // 第三方
|
| | | result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, 1, true);
|
| | | orderList.addAll(result.orderList);
|
| | |
|
| | | /**
|
| | | * 按照维权完成时间查询
|
| | | */
|
| | |
|
| | | result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, true);
|
| | | "yyyy-MM-dd")), 3, 1, false);
|
| | | orderList.addAll(result.orderList);
|
| | | // 第三方
|
| | | result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 3, 1, true);
|
| | | orderList.addAll(result.orderList);
|
| | |
|
| | | result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, false);
|
| | | "yyyy-MM-dd")), 3, 1, false);
|
| | | orderList.addAll(result.orderList);
|
| | |
|
| | | // 第三方
|
| | | result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
|
| | | "yyyy-MM-dd")), 1, true);
|
| | | "yyyy-MM-dd")), 3, 1, true);
|
| | | orderList.addAll(result.orderList);
|
| | |
|
| | | for (TaoBaoWeiQuanOrder order : orderList)
|
| | |
| | | // 处理维权订单
|
| | | orderProcessService.weiQuanOrder(orderList);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | // 维权订单处理-处理最近60天的
|
| | | // 30分钟一次
|
| | | @Scheduled(cron = "0 0/30 * * * ? ")
|
| | | public void doTaoBaoWeiQuan() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | doTaoBaoWeiQuanOrder(5);
|
| | | }
|
| | |
|
| | | // 每6个小时执行一次
|
| | |
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Propagation;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | | import org.yeshi.utils.NumberUtil;
|
| | |
|
| | | import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
|
| | | import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
|
| | |
| | |
|
| | | @Override
|
| | | public void fanli() {
|
| | | LogHelper.test("处理返利到账");
|
| | | // 获取主红包
|
| | | List<HongBaoV2> hongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByType(HongBaoV2.TYPE_ZIGOU, 1000);
|
| | | //
|
| | |
| | | return;
|
| | | String uidStr = order.getExt1();
|
| | | Long uid = null;
|
| | | if (!StringUtil.isNullOrEmpty(uidStr))
|
| | | if (!StringUtil.isNullOrEmpty(uidStr) && NumberUtil.isNumeric(uidStr))
|
| | | uid = Long.parseLong(uidStr);
|
| | | Long positionId = order.getOrderItemList().get(0).getPositionId();
|
| | | if (positionId == JDApiUtil.POSITION_FANLI)// 返利订单
|
| | |
| | | return orderList;
|
| | | }
|
| | |
|
| | | public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int page, boolean third) {
|
| | | public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
|
| | | boolean third) {
|
| | |
|
| | | return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 1);
|
| | | return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 1);
|
| | | }
|
| | |
|
| | | public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int page, boolean third) {
|
| | | public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
|
| | | boolean third) {
|
| | |
|
| | | return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 2);
|
| | | return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 2);
|
| | | }
|
| | |
|
| | | private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int page, boolean third,
|
| | | int bizType) {
|
| | | private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
|
| | | boolean third, int bizType) {
|
| | | WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
|
| | |
|
| | | List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
|
| | |
| | | map.put("method", "taobao.tbk.relation.refund");
|
| | |
|
| | | JSONObject option = new JSONObject();
|
| | | option.put("search_type", 2);
|
| | | option.put("search_type", searchType);
|
| | | option.put("refund_type", third ? 2 : 1);
|
| | | option.put("start_time", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
|
| | | option.put("page_no", page);
|