|
|
@@ -0,0 +1,81 @@
|
|
|
+package com.mokamrp.privates.tast.pangu;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.mokamrp.privates.constant.RedisKey;
|
|
|
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
|
|
|
+import com.mokamrp.privates.mapper.data.pojo.PanCSTQRecord;
|
|
|
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteCode;
|
|
|
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePool;
|
|
|
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord;
|
|
|
+import com.mokamrp.privates.service.data.PanCSLTRecordService;
|
|
|
+import com.mokamrp.privates.service.data.PanCSTQRecordService;
|
|
|
+import com.mokamrp.privates.service.pangu.PlaybillService;
|
|
|
+import com.mokamrp.privates.service.pangu.PromoteCodeService;
|
|
|
+import com.mokamrp.privates.service.pangu.PromoteQrcodePoolRecordService;
|
|
|
+import com.mokamrp.privates.service.pangu.PromoteQrcodePoolService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
+import org.springframework.scheduling.annotation.Scheduled;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import javax.sound.sampled.Port;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Component
|
|
|
+public class UpdatePanguDataTask {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public PanCSLTRecordService panCSLTRecordService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public PanCSTQRecordService panCSTQRecordService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public PromoteQrcodePoolRecordService promoteQrcodePoolRecordService;
|
|
|
+
|
|
|
+ @Scheduled(cron = "0 */1 * * * ?")
|
|
|
+ public void execute() {
|
|
|
+ System.out.println("[cronjob]:同步盘古个微码每日数据");
|
|
|
+ List<PromoteQrcodePoolRecord> promoteQrcodePoolRecordList = promoteQrcodePoolRecordService.list();
|
|
|
+ List<PanCSLTRecord> panCSLTRecordList = panCSLTRecordService.getCustserviceLongTouchPv();
|
|
|
+ List<PanCSTQRecord> panCSTQRecordList = panCSTQRecordService.getCustserviceTakeQrcodePv();
|
|
|
+
|
|
|
+ for (PanCSLTRecord panCSLTRecord : panCSLTRecordList) {
|
|
|
+// panCSLTRecord.getCustserviceId()
|
|
|
+ }
|
|
|
+
|
|
|
+ for (PanCSTQRecord record : panCSTQRecordList) {
|
|
|
+ Integer custserviceId = record.getCustserviceId();
|
|
|
+ Integer promoteId = record.getPromoteId();
|
|
|
+ if (custserviceId == null || promoteId == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Boolean hasRecord = this.checkHasRecord(promoteQrcodePoolRecordList,promoteId,custserviceId);
|
|
|
+ PromoteQrcodePoolRecord save = new PromoteQrcodePoolRecord();
|
|
|
+ save.setPromoteId(record.getPromoteId());
|
|
|
+ save.setCustserviceId(record.getCustserviceId());
|
|
|
+ //.记录表没有数据则新增空数据
|
|
|
+ if (hasRecord == false) {
|
|
|
+ promoteQrcodePoolRecordService.save(save);
|
|
|
+ }
|
|
|
+ //.更新扫码次数
|
|
|
+ save.setTakeQrcodePv(record.getTakeQrcodeCnt());
|
|
|
+ promoteQrcodePoolRecordService.update(save, new QueryWrapper<PromoteQrcodePoolRecord>()
|
|
|
+ .eq("promote_id", record.getPromoteId())
|
|
|
+ .eq("custservice_id", record.getCustserviceId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public Boolean checkHasRecord(List<PromoteQrcodePoolRecord> promoteQrcodePoolRecordList,Integer promoteId,Integer custserviceId){
|
|
|
+ Boolean hasRecord = false;
|
|
|
+ for (PromoteQrcodePoolRecord promoteQrcodePoolRecord : promoteQrcodePoolRecordList) {
|
|
|
+ if (promoteQrcodePoolRecord.getPromoteId() == promoteId
|
|
|
+ && promoteQrcodePoolRecord.getCustserviceId() == custserviceId) {
|
|
|
+ hasRecord = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return hasRecord;
|
|
|
+ }
|
|
|
+}
|