添加oa兑换

master
bynt 12 months ago
parent 7573432c5b
commit d15641dc94

@ -6,16 +6,16 @@ spring:
auto-commit: true
#注意的是这个地方的定义需要用在DataSourceConfig.java里面使用是因为在定义JobEventConfig.java的时候需要引入自定义dataSource
password: y7z7noq2
jdbc-url: jdbc:mysql://8.130.96.163:3306/ad_platform?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull
jdbc-url: jdbc:mysql://39.100.77.21:3306/ad_platform?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull
username: root
redis:
#数据库索引
database: 2
host: 8.130.96.163
host: 39.100.77.21
port: 6379
#连接超时时间
timeout: 5000
password:
password: sC33HXphkHBRj4Jb
cloud:
nacos:
server-addr: 127.0.0.1:8848

@ -2,11 +2,11 @@ spring:
redis:
#数据库索引
database: 9
host: 8.130.96.163
host: 39.100.77.21
port: 6379
password:
password: sC33HXphkHBRj4Jb
datasource:
url: jdbc:mysql://${MYSQL_HOST:8.130.96.163}:${MYSQL_PORT:3306}/${MYSQL_DB:gateway}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
url: jdbc:mysql://${MYSQL_HOST:39.100.77.21}:${MYSQL_PORT:3306}/${MYSQL_DB:gateway}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
driver-class-name: com.mysql.jdbc.Driver
username: ${MYSQL_USER:root}
password: ${MYSQL_PASSWORD:y7z7noq2}

@ -33,14 +33,6 @@ spring:
- Path=/api-task/**
filters:
- StripPrefix=1
redis:
#数据库索引
database: 0
host: 8.130.96.163
port: 6379
password:
#连接超时时间
timeout: 5000
hystrix:
command:
default:

@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
* @author Enzo
* @date : 2023/6/12
*/
@Api(tags = "支付宝支付")
@Api(tags = "设置回调")
@Slf4j
@RestController
@RequestMapping(value = "/callback/v1")

@ -43,8 +43,10 @@ public class DownRecordController {
@ApiOperation("上传文件发送邮件")
@PostMapping("/upload/files")
public ResponseEntity<Object> uploadFile(@RequestParam("file") MultipartFile[] files,@RequestParam(value = "taskName") String taskName) {
return new ResponseEntity<>(downRecordService.uploadFile(files, taskName), HttpStatus.OK);
public ResponseEntity<Object> uploadFile(@RequestParam("file") MultipartFile[] files,
@RequestParam(value = "taskName") String taskName, @RequestParam("uploadType") Integer uploadType) {
return new ResponseEntity<>(downRecordService.uploadFile(files, taskName, uploadType), HttpStatus.OK);
}
@Inner

@ -16,6 +16,7 @@ public interface DeliveryRecordService {
*
* @param filePath
* @param taskName
* @param tagStr
* @param num
* @param taskId
* @param userId
@ -24,7 +25,7 @@ public interface DeliveryRecordService {
* @param downId
* @return
*/
Long saveDeliveryRecord(String filePath, String taskName, Integer num, Long taskId, Long userId, Integer type, Integer exchangeType, Long downId);
Long saveDeliveryRecord(String filePath, String taskName, String tagStr, Integer num, Long taskId, Long userId, Integer type, Integer exchangeType, Long downId);
/**
*
@ -48,11 +49,12 @@ public interface DeliveryRecordService {
*
* @param imeiDTOList
* @param taskImeiName
* @param uploadType
* @param publicKey
* @param privateKey
* @return
*/
Boolean exchangeByInterFace(List<ImeiDTO> imeiDTOList, String taskImeiName, String publicKey, String privateKey);
Boolean exchangeByInterFace(List<ImeiDTO> imeiDTOList, String taskImeiName, Integer uploadType, String publicKey, String privateKey);
/**
*

@ -57,9 +57,10 @@ public interface DownRecordService {
*
* @param files
* @param taskName
* @param uploadType
* @return
*/
Boolean uploadFile(MultipartFile[] files, String taskName);
Boolean uploadFile(MultipartFile[] files, String taskName, Integer uploadType);
/**
* id

@ -26,6 +26,8 @@ public class ExchangeStripsDTO implements Serializable {
@SerializedName("org_code")
private String orgCode;
@SerializedName("type")
private Integer type;
@SerializedName("datas")
private List<Data> datas;

@ -37,13 +37,14 @@ public class DeliveryRecordServiceImpl implements DeliveryRecordService {
@Override
public Long saveDeliveryRecord(String filePath, String taskName,
Integer num, Long taskId, Long userId, Integer type, Integer exchangeType, Long downId) {
String tagStr, Integer num, Long taskId, Long userId, Integer type, Integer exchangeType, Long downId) {
DeliveryRecord deliveryRecord = new DeliveryRecord();
deliveryRecord.setNum(num);
deliveryRecord.setType(type);
deliveryRecord.setUserId(userId);
deliveryRecord.setDownId(downId);
deliveryRecord.setTaskId(taskId);
deliveryRecord.setTagStr(tagStr);
deliveryRecord.setTaskName(taskName);
deliveryRecord.setUploadUrl(filePath);
deliveryRecord.setExchangeType(exchangeType);
@ -64,16 +65,16 @@ public class DeliveryRecordServiceImpl implements DeliveryRecordService {
@Override
public Boolean exchangeByInterFace(List<ImeiDTO> imeiDTOList, String taskImeiName, String publicKey, String privateKey) {
public Boolean exchangeByInterFace(List<ImeiDTO> dtoList, String taskImeiName, Integer uploadType, String publicKey, String privateKey) {
List<ExchangeStripsDTO.Data> list = Lists.newArrayList();
imeiDTOList.forEach(imeiDTO -> {
dtoList.forEach(imeiDTO -> {
ExchangeStripsDTO.Data data = new ExchangeStripsDTO.Data();
data.setData(Base64.encode(imeiDTO.getImei().concat(StrPool.COMMA).concat(imeiDTO.getTag())));
list.add(data);
});
ExchangeStripsDTO build = ExchangeStripsDTO.builder().batchId(taskImeiName).reqId
(RandomUtil.randomString(DefaultNumberConstants.TEN_NUMBER)).orgCode
(exchangeProperties.getOrgCode()).datas(list).build();
(exchangeProperties.getOrgCode()).datas(list).type(uploadType).build();
String post = HttpUtil.post(exchangeProperties.getSubmitUrl(), JSONUtil.toJsonStr(build));
log.info("============ the submit result as {} =========", JSONUtil.toJsonStr(post));
return Boolean.TRUE;

@ -91,15 +91,15 @@ public class DownRecordServiceImpl implements DownRecordService {
deliveryProperties.getEmailPassword(), deliveryProperties.getToEmailAddress(), downRecord.getDownUrl(), taskImeiName);
// 保存批次号
Long downId = downRecordRepository.save(downRecord).getId();
deliveryRecordService.saveDeliveryRecord(downRecord.getDownUrl(), taskImeiName, downRecord.getClueNum(), null,
SecurityUtils.getCurrentUserId(), DefaultNumberConstants.TWO_NUMBER, DefaultNumberConstants.TWO_NUMBER, downId);
deliveryRecordService.saveDeliveryRecord(downRecord.getDownUrl(), taskImeiName, null, downRecord.getClueNum(), null,
SecurityUtils.getCurrentUserId(), DefaultNumberConstants.TWO_NUMBER, DefaultNumberConstants.ZERO_NUMBER, downId);
return Boolean.TRUE;
}
throw new BadRequestException(ResponseCode.SEND_MAIL_FRIEND.getDesc());
}
@Override
public Boolean uploadFile(MultipartFile[] files, String taskName) {
public Boolean uploadFile(MultipartFile[] files, String taskName, Integer uploadType) {
if (files.length > DefaultNumberConstants.ZERO_NUMBER) {
List<ImeiDTO> dtoList = Lists.newArrayList();
for (MultipartFile file : files) {
@ -127,14 +127,14 @@ public class DownRecordServiceImpl implements DownRecordService {
SendMailDTO sendMailDTO = FileAndMailUtil.zipFileAndSendDMPMail(list, file, taskImeiName, deliveryProperties, DefaultNumberConstants.TWO_NUMBER);
String filePath = deliveryProperties.getDmpDownPath().concat(uuid).concat(FileConstant.ZIP_FILE_SUB_NAME);
Long downId = this.createRecord(list.size(), "超级管理员", taskName, sendMailDTO.getZipPath(), filePath, DefaultNumberConstants.TWO_NUMBER);
deliveryRecordService.saveDeliveryRecord(sendMailDTO.getZipPath(), taskImeiName, list.size(), null,
SecurityUtils.getCurrentUserId(), DefaultNumberConstants.TWO_NUMBER, DefaultNumberConstants.TWO_NUMBER, downId);
deliveryRecordService.saveDeliveryRecord(sendMailDTO.getZipPath(), taskImeiName,list.get(DefaultNumberConstants.ZERO_NUMBER).getTag(), list.size(), null,
SecurityUtils.getCurrentUserId(), DefaultNumberConstants.TWO_NUMBER, uploadType, downId);
}
return Boolean.TRUE;
}
// 每次1000 数据
// 每次100000 数据
List<List<ImeiDTO>> partition = Lists.partition
(dtoArrayList, DefaultNumberConstants.ONE_THOUSAND);
(dtoArrayList, DefaultNumberConstants.ONE_HUNDRED_THOUSAND);
String uuid = IdUtil.fastSimpleUUID();
String file = deliveryProperties.getFileUrl().concat(StrPool.SLASH).concat(uuid);
String filePath = deliveryProperties.getDmpDownPath().concat(uuid).concat(FileConstant.ZIP_FILE_SUB_NAME);
@ -144,10 +144,10 @@ public class DownRecordServiceImpl implements DownRecordService {
for (List<ImeiDTO> list : partition) {
String taskImeiName = redisUtils.acquisitionBatch(MailRequestEnum.MM.getCacheName());
Boolean result = deliveryRecordService.exchangeByInterFace
(list, taskImeiName, deliveryProperties.getPublicKey(), deliveryProperties.getPrivateKey());
(list, taskImeiName, uploadType, deliveryProperties.getPublicKey(), deliveryProperties.getPrivateKey());
if (Boolean.TRUE.equals(result)) {
deliveryRecordService.saveDeliveryRecord(zipPath, taskImeiName, list.size(), null,
SecurityUtils.getCurrentUserId(), DefaultNumberConstants.TWO_NUMBER, DefaultNumberConstants.ONE_NUMBER, downId);
deliveryRecordService.saveDeliveryRecord(zipPath, taskImeiName, list.get(DefaultNumberConstants.ZERO_NUMBER).getTag(), list.size(), null,
SecurityUtils.getCurrentUserId(), DefaultNumberConstants.TWO_NUMBER, uploadType, downId);
}
log.info("=========== the interface conversion result is {} =========== ", result);
}

@ -151,17 +151,17 @@ public class TaskImeiServiceImpl implements TaskImeiService {
String file = deliveryProperties.getFileUrl().concat(StrPool.SLASH).concat(taskImeiDTO.getBatchNo());
SendMailDTO sendMailDTO = FileAndMailUtil.zipFileAndSendDMPMail
(filterList, file, taskImeiDTO.getBatchNo(), deliveryProperties, DefaultNumberConstants.TWO_NUMBER);
Long recordId = deliveryRecordService.saveDeliveryRecord(sendMailDTO.getZipPath(), taskImeiDTO.getBatchNo(), dtoList.size(),
null, (long) DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.THREE_NUMBER, DefaultNumberConstants.TWO_NUMBER, null);
Long recordId = deliveryRecordService.saveDeliveryRecord(sendMailDTO.getZipPath(), taskImeiDTO.getBatchNo(), null, dtoList.size(),
null, (long) DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.THREE_NUMBER, DefaultNumberConstants.ZERO_NUMBER, null);
// 缓存一天
redisUtils.set(CacheKey.UPLOAD_BATCH.concat(taskImeiDTO.getBatchNo()), recordId, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
return CommonResponse.createBySuccess(DefaultNumberConstants.TWO_HUNDRED);
}
Boolean result = deliveryRecordService.exchangeByInterFace
(filterList, taskImeiDTO.getBatchNo(), deliveryProperties.getPublicKey(), deliveryProperties.getPrivateKey());
(filterList, taskImeiDTO.getBatchNo(), DefaultNumberConstants.ZERO_NUMBER, deliveryProperties.getPublicKey(), deliveryProperties.getPrivateKey());
if (Boolean.TRUE.equals(result)) {
Long recordId = deliveryRecordService.saveDeliveryRecord(null, taskImeiDTO.getBatchNo(), dtoList.size(),
null, (long) DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.THREE_NUMBER, DefaultNumberConstants.ONE_NUMBER, null);
Long recordId = deliveryRecordService.saveDeliveryRecord(null, taskImeiDTO.getBatchNo(), null, dtoList.size(),
null, (long) DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.THREE_NUMBER, DefaultNumberConstants.ZERO_NUMBER, null);
// 缓存一天
redisUtils.set(CacheKey.UPLOAD_BATCH.concat(taskImeiDTO.getBatchNo()), recordId, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
log.info("============= interface sending send recordId {} =============", recordId);

@ -192,7 +192,7 @@ public class DeliveryBalanceTask {
if (sendMailDTO.getSendResult().equals(Boolean.TRUE)) {
// 保存发送记录
deliveryRecordService.saveDeliveryRecord(sendMailDTO.getZipPath(), taskImeiName,
taskImeiList.size(), taskId, userId, DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.TWO_NUMBER, null);
taskImeiList.get(DefaultNumberConstants.ZERO_NUMBER).getTag(), taskImeiList.size(), taskId, userId, DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.ZERO_NUMBER, null);
// 批次修改状态
taskImeiService.updateBath(taskId, CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER, minId, maxId);
}
@ -200,11 +200,11 @@ public class DeliveryBalanceTask {
}
// 接口兑换
Boolean result = deliveryRecordService.exchangeByInterFace
(toList, taskImeiName, deliveryProperties.getPublicKey(), deliveryProperties.getPrivateKey());
(toList, taskImeiName, DefaultNumberConstants.ZERO_NUMBER, deliveryProperties.getPublicKey(), deliveryProperties.getPrivateKey());
if (Boolean.TRUE.equals(result)) {
// 保存发送记录
deliveryRecordService.saveDeliveryRecord(null, taskImeiName,
toList.size(), taskId, userId, DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.ONE_NUMBER, null);
taskImeiList.get(DefaultNumberConstants.ZERO_NUMBER).getTag(), toList.size(), taskId, userId, DefaultNumberConstants.ONE_NUMBER, DefaultNumberConstants.ZERO_NUMBER, null);
// 批次修改状态
taskImeiService.updateBath(taskId,
CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER, minId, maxId);

@ -56,6 +56,11 @@ public class BaseDeliveryRecord {
@Column(name = "decrypt_num")
private Integer decryptNum;
@ApiModelProperty("标签字符串")
@Column(name = "tag_str")
private String tagStr;
@ApiModelProperty("任务类型 1:定时发送 2:手动上传")
@Column(name = "type")
private Integer type;

@ -230,6 +230,14 @@ public class DmpCallbackServiceImpl implements DmpCallbackService {
tagList.add(stringList.get(DefaultNumberConstants.ONE_NUMBER));
phoneList.add(stringList.get(DefaultNumberConstants.TWO_NUMBER));
}
// 兑换条件为oa
if (ObjectUtil.isNotNull(byTaskName.getExchangeType())
&& byTaskName.getExchangeType() == DefaultNumberConstants.ONE_NUMBER) {
originalList.add(stringList);
tagList.add(byTaskName.getTagStr());
phoneList.add(stringList.get(DefaultNumberConstants.ZERO_NUMBER));
}
}
}
}

Loading…
Cancel
Save