修改部分代码逻辑 后续需更改

master
ninftao 3 years ago
parent c8adc5929a
commit 5df82cc1e5

@ -161,6 +161,7 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration> <configuration>
<executable>true</executable> <executable>true</executable>
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>

@ -0,0 +1,70 @@
package com.hchbox.entity.master;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* @author Enzo
* @date 2021-7-15
*/
@Data
@Entity
@Table(name = "auto_task_message")
public class AutoTaskMessage implements Serializable {
@Id
@Column(name = "id")
@ApiModelProperty(value = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long userId;
@ApiModelProperty("类型")
private Integer status;
@ApiModelProperty("任务名称")
private String taskName;
@ApiModelProperty("买家昵称")
private String sellerNick;
private String taksInfo; // 任务信息
private Date gmtCreate; //
private Date gmtUpdate;
private Date startDt; // 任务开始时间
private Date endDt; // 任务结束时间
private Integer isOver; // 0 默认未完成终止 1 明日再发
private Integer isRetry; // 重试次数 0 代表不重试
private String templt; // 模板
private Integer isRemark; // 是否备注 0不备注 1备注
private String result; // 结果
private String memo;
private Integer type; // 0 应用dsr选中回访提交 1 为 手动提交 (应用 团队 后台 )
private String sendType;
private Date statStartDt; // 统计开始时间
private Date statEndDt; // 统计结束时间
private String statType; // 统计类型 urgerate催评 marketing营销
}

@ -14,7 +14,7 @@ import java.util.Date;
*/ */
@Data @Data
@Entity @Entity
@Table(name = "black_list") @Table(name = "auto_task_message_info")
public class AutoTaskMessageInfo implements Serializable { public class AutoTaskMessageInfo implements Serializable {
private static final long serialVersionUID = 4158774664555395433L; private static final long serialVersionUID = 4158774664555395433L;

@ -0,0 +1,24 @@
package com.hchbox.repository.master;
import com.hchbox.entity.master.AutoTaskMessage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.Date;
/**
* @author Enzo
* @date : 2021/7/15
*/
public interface AutoTaskMessageRepository extends JpaRepository<AutoTaskMessage, Long>, JpaSpecificationExecutor<AutoTaskMessage> {
/**
*
* @param type
* @param startTime
* @param endTime
* @return
*/
AutoTaskMessage findAutoTaskMessageTypeBetweenTime(String type, Date startTime, Date endTime);
}

@ -47,10 +47,7 @@ public interface SellerAccountRepository extends JpaRepository<SellerAccount, Lo
* @param parentId * @param parentId
* @return * @return
*/ */
List<String> findNickByParentId(Long parentId); List<String> findByParentId(Long parentId);
} }

@ -137,7 +137,7 @@ public class MemberServiceImpl implements MemberService {
Member member = new Member(); Member member = new Member();
Double payment = Double.valueOf(trade.getPayment()); Double payment = Double.valueOf(trade.getPayment());
SellerAccount sellerAccountByNick = sellerAccountRepository.findSellerAccountByNick(trade.getSellerNick()); SellerAccount sellerAccountByNick = sellerAccountRepository.findSellerAccountByNick(trade.getSellerNick());
member.setAccountUid(sellerAccountByNick.getUid()); member.setAccountUid(sellerAccountByNick.getId());
member.setAlipayNo(trade.getAlipayNo()); member.setAlipayNo(trade.getAlipayNo());
member.setAvgPrice(payment); member.setAvgPrice(payment);
if (trade.getAlipayNo() != null) { if (trade.getAlipayNo() != null) {

@ -1,46 +1,35 @@
package com.hchbox.service.impl; package com.hchbox.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.hchbox.api.TaoBaoApiClient;
import com.hchbox.config.MiProperties; import com.hchbox.config.MiProperties;
import com.hchbox.constant.*; import com.hchbox.constant.DefaultConstants;
import com.hchbox.constant.PayConstants;
import com.hchbox.constant.RemindTemplates;
import com.hchbox.converter.CommConverter; import com.hchbox.converter.CommConverter;
import com.hchbox.dto.SellerAccountDTO; import com.hchbox.dto.SellerAccountDTO;
import com.hchbox.entity.master.*; import com.hchbox.entity.master.*;
import com.hchbox.enums.AppSettingTypeEnum; import com.hchbox.enums.AppSettingTypeEnum;
import com.hchbox.hander.message.TaoBaoTradeMessage; import com.hchbox.hander.message.TaoBaoTradeMessage;
import com.hchbox.repository.master.AutoTaskMessageRepository;
import com.hchbox.repository.master.OrderRegistry; import com.hchbox.repository.master.OrderRegistry;
import com.hchbox.repository.master.TopTradeRepository; import com.hchbox.repository.master.TopTradeRepository;
import com.hchbox.service.*; import com.hchbox.service.*;
import com.hchbox.uitl.TaoBaoEncryption;
import com.hchbox.util.CacheManagerUtil; import com.hchbox.util.CacheManagerUtil;
import com.taobao.api.domain.Order; import com.taobao.api.domain.Order;
import com.taobao.api.domain.Trade; import com.taobao.api.domain.Trade;
import com.taobao.api.request.TradeFullinfoGetRequest;
import com.taobao.api.request.TradesSoldGetRequest; import com.taobao.api.request.TradesSoldGetRequest;
import com.taobao.api.response.TradeFullinfoGetResponse;
import com.taobao.api.response.TradesSoldGetResponse;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shardingsphere.spi.order.OrderedRegistry;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.jnlp.FileContents;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -71,6 +60,8 @@ public class TopTradeServiceImpl implements TopTradeService {
private final SellerAccountService sellerAccountService; private final SellerAccountService sellerAccountService;
private final AutoTaskMessageRepository autoTaskMessageRepository;
private final AutoTaskMessageInfoService autoTaskMessageInfoService; private final AutoTaskMessageInfoService autoTaskMessageInfoService;
@ -160,6 +151,7 @@ public class TopTradeServiceImpl implements TopTradeService {
/** /**
* *
*
* @param templateId * @param templateId
* @param account * @param account
* @return * @return
@ -194,37 +186,33 @@ public class TopTradeServiceImpl implements TopTradeService {
return; return;
} }
/* // 提交创建旺旺批次任务 // 提交创建旺旺批次任务
Integer wwid = createAutoTaskWwmsg(setting, template); Long taskId = createAutoTaskMessage(setting, template);
if (wwid == null || wwid == 0) { if (taskId == null) {
log.info("trade rate handler wwid is null tid=" + tid); log.info("============== create trade task error the uid as {},time {} ==============", +trade.getTid(), DateUtil.date());
return; return;
} }
AutoTaskMessageInfo messageInfo = new AutoTaskMessageInfo(); AutoTaskMessageInfo messageInfo = new AutoTaskMessageInfo();
messageInfo.setAtwId((long) wwid); messageInfo.setAtwId(taskId);
//默认第一个账号去发送,只发送一条消息 //默认第一个账号去发送,只发送一条消息
messageInfo.setWwNick(sendNickList.get(0)); messageInfo.setWwNick(sendNickList.get(0));
messageInfo.setSellerNick(trade.getSellerNick()); messageInfo.setSellerNick(trade.getSellerNick());
messageInfo.setStartDt(new Date()); messageInfo.setStartDt(DateUtil.date());
messageInfo.setTid(trade.getTid()); messageInfo.setTid(trade.getTid());
messageInfo.setStatus(0); messageInfo.setStatus(DefaultConstants.ZERO_NUMBER);
messageInfo.setType(0); messageInfo.setType(DefaultConstants.ZERO_NUMBER);
messageInfo.setSendType(setting.getType()); messageInfo.setSendType(setting.getType());
messageInfo.setBuyerNick(trade.getBuyerNick()); messageInfo.setBuyerNick(trade.getBuyerNick());
String content = RemindTemplateUtil.prepareMsg(template, trade); String content = RemindTemplates.prepareMsg(template, trade);
messageInfo.setInfo(content);// 模板替换 // 模板替换
List<AutoTaskWwmsgInfo> infos = new ArrayList<AutoTaskWwmsgInfo>(); messageInfo.setInfo(content);
infos.add(wwmsgInfo); List<AutoTaskMessageInfo> infos = new ArrayList<AutoTaskMessageInfo>();
autoTaskWWMsgInfoService.batchCreate(infos); infos.add(messageInfo);
taskAccountService.addCacheWwmsgQuota(wwmsgInfo.getWwNick(), AutoTaskConstants.TASK_ACCOUNT_TYPE_ONE, -1, redisCacheManager); // TODO 批量插入 插入缓存
//autoTaskMessageRepository.batchCreate(infos);
NoticeWwSendMessage message = new NoticeWwSendMessage(); // taskAccountService.addCacheWwmsgQuota(wwmsgInfo.getWwNick(), AutoTaskConstants.TASK_ACCOUNT_TYPE_ONE, -1, redisCacheManager);
message.setSendNick(wwmsgInfo.getWwNick());
message.setTaskId(wwid);
message.setTaskName("自动任务(" + AppSettingType.getWwRemindType(setting.getType()) + ")");
message.setType(AutoTaskConstants.WWMSG_TYPE_AUTO + setting.getType());*/
// redisCacheManager.sendMessage(RedisConstants.NOTICE_WW_SEND_CHANNEL, message); // redisCacheManager.sendMessage(RedisConstants.NOTICE_WW_SEND_CHANNEL, message);
} }
@ -261,7 +249,7 @@ public class TopTradeServiceImpl implements TopTradeService {
List<Order> list = trade.getOrders(); List<Order> list = trade.getOrders();
List<Long> ids = new ArrayList<>(); List<Long> ids = new ArrayList<>();
for (Order order : list) { for (Order order : list) {
if(!ids.contains(order.getNumIid())){ if (!ids.contains(order.getNumIid())) {
ids.add(order.getNumIid()); ids.add(order.getNumIid());
} }
} }
@ -276,9 +264,9 @@ public class TopTradeServiceImpl implements TopTradeService {
return true; return true;
} }
return false; return false;
}*/ }
/* // 查询卖家指定的不发送宝贝, // 查询卖家指定的不发送宝贝,
int notSendCount = remindGoodsService.count(sellerNick, RemindGoods.FTYPE_DISABLE, setting.getType()); int notSendCount = remindGoodsService.count(sellerNick, RemindGoods.FTYPE_DISABLE, setting.getType());
if (notSendCount > 0) { if (notSendCount > 0) {
List<RemindGoods> notSendList = remindGoodsService.listByIds(iids, RemindGoods.FTYPE_DISABLE, List<RemindGoods> notSendList = remindGoodsService.listByIds(iids, RemindGoods.FTYPE_DISABLE,
@ -293,4 +281,37 @@ public class TopTradeServiceImpl implements TopTradeService {
return true; return true;
} }
/**
*
*
* @param setting
* @param template
* @return
*/
protected Long createAutoTaskMessage(AppSetting setting, String template) {
DateTime date = DateUtil.date();
AutoTaskMessage message = autoTaskMessageRepository.findAutoTaskMessageTypeBetweenTime(setting.getType(), DateUtil.beginOfDay(date), DateUtil.endOfDay(date));
if (message != null) {
return message.getId();
}
// 若不存在,则创建一个
message = new AutoTaskMessage();
message.setStartDt(date);
// 目前暂定的任务名 自动任务(好评感谢)
message.setTaskName("自动任务(" + ")");
message.setTaksInfo("");
message.setIsOver(0);
message.setTemplt(template);
message.setIsRemark(0);
message.setStatus(0);
message.setType(0);
message.setSendType(setting.getType());
message.setSellerNick(setting.getSellerNick());
return autoTaskMessageRepository.save(message).getId();
}
} }

@ -29,7 +29,7 @@ public class BaseMember implements Serializable {
protected Long id; protected Long id;
@ApiModelProperty("用户id") @ApiModelProperty("用户id")
protected String accountUid; protected Long accountUid;
@Column(name = "create_time") @Column(name = "create_time")
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")

@ -2,6 +2,7 @@
package com.hchbox.constant; package com.hchbox.constant;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.taobao.api.domain.Trade;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
/** /**
@ -34,4 +35,52 @@ public class RemindTemplates {
return template.replace(SHOP_NAME, StringUtils.isNotBlank(shopTitle) ? shopTitle : StrUtil.EMPTY); return template.replace(SHOP_NAME, StringUtils.isNotBlank(shopTitle) ? shopTitle : StrUtil.EMPTY);
} }
/**
* 使
*
* @param template
* @param trade
* @return
*/
public static String prepareMsg(String template, Trade trade) {
if (StringUtils.isBlank(template) || trade == null) {
return template;
}
/*// 目前有一个变量,订单创建时间
String orderTime = DateUtil.formatMMDDHHmm(trade.getCreated());
// 下单时间,付款时间,店铺名称,宝贝名称,价格,数量,买家昵称 收货人姓名
template = template.replace(RemindTemplates.ORDER_TIME, orderTime != null ? orderTime : "");
if (trade.getPayTime() != null) {
template = template.replace(RemindTemplates.PAY_TIME, DateUtil.formatMMDDHHmm(trade.getPayTime()));
}
String itemTitle = "";
if (trade.getOrders() != null) {
itemTitle = trade.getOrders().get(0).getTitle();
} else {
itemTitle = trade.getTitle();
}
;
template = template.replace(RemindTemplates.ITEM_TITLE, replaceBracket(itemTitle));
template = template.replace(RemindTemplates.PRICE, trade.getPayment() != null ? trade.getPayment() : "" + "元");
// template.replace(RemindTemplates.ITEM_NUMBER, trade.getNum() != null ? trade.getNum().toString() : "");
template = template.replace(RemindTemplates.BUYER_NICK,
trade.getBuyerNick() != null ? trade.getBuyerNick() : "");
template = template.replace(RemindTemplates.RECEIVER_NAME,
trade.getReceiverName() != null ? trade.getReceiverName() : "");
template = template.replace(RemindTemplates.RECEIVER_MOBILE,
trade.getReceiverMobile() != null ? trade.getReceiverMobile() : "");
template = template.replace(RemindTemplates.RECEIVER_ADDRESS,
trade.getReceiverAddress() != null ? trade.getReceiverAddress() : "");
template = template.replace(RemindTemplates.ORDER_NO,
trade.getTid() != null ? String.valueOf(trade.getTid()) : "");
template = template.replace(RemindTemplates.FRONT_PAYMENT,
trade.getStepPaidFee() != null ? trade.getStepPaidFee() : "");*/
return template;
}
} }

Loading…
Cancel
Save