diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/BuildRecordController.java b/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/BuildRecordController.java index a438cfe..83b47bb 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/BuildRecordController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/BuildRecordController.java @@ -110,6 +110,16 @@ public class BuildRecordController { // ========================= 自定义的大数据平台相关的接口 start ========================= + private boolean checkTaskNameForBuild(String taskName){ + BuildRecordQueryCriteria criteria = new BuildRecordQueryCriteria(); + criteria.setTaskName(taskName); + List taskRecordDtos = buildRecordService.queryAll(criteria); + if (!CollectionUtils.isEmpty(taskRecordDtos)){ + return Boolean.FALSE; + } + return Boolean.TRUE; + } + /** * 新建课包任务 * @@ -139,16 +149,6 @@ public class BuildRecordController { return new ResponseEntity<>(CommonResponse.createBySuccess(), HttpStatus.OK); } - private boolean checkTaskNameForBuild(String taskName){ - BuildRecordQueryCriteria criteria = new BuildRecordQueryCriteria(); - criteria.setTaskName(taskName); - List taskRecordDtos = buildRecordService.queryAll(criteria); - if (!CollectionUtils.isEmpty(taskRecordDtos)){ - return Boolean.FALSE; - } - return Boolean.TRUE; - } - /** * 发送课包任务,支持同事发送多个课包任务,然后进行发送 * diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/vo/BuildRecordBuildVO.java b/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/vo/BuildRecordBuildVO.java index 2325964..4a333e7 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/vo/BuildRecordBuildVO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/rest/vo/BuildRecordBuildVO.java @@ -6,6 +6,7 @@ import me.zhengjie.modules.buildrecord.domain.BuildRecord; import java.io.Serializable; + @Data public class BuildRecordBuildVO implements Serializable { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/task/ProduceBigDataTask.java b/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/task/ProduceBigDataTask.java index 25ecc38..7e64989 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/task/ProduceBigDataTask.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/buildrecord/task/ProduceBigDataTask.java @@ -68,9 +68,10 @@ public class ProduceBigDataTask { private void runTask(BuildRecord task) { // 先对任务表进行记录 + // fixme 尝试修复id造成的冲突问题 BuildRecordDto buildRecordDto = buildRecordService.create(task); - if (buildRecordDto == null) { - log.error("============ [create build rec is fail, please check it. ] ============"); + if (buildRecordDto == null || buildRecordDto.getId() == null || buildRecordDto.getId() <= 0) { + log.error("============ [create build rec is fail, please check it.] ============"); return; } // 解析需要的查询参数 @@ -96,56 +97,11 @@ public class ProduceBigDataTask { Integer count = tagService.queryAndBatchInsertData(buildRecordDto.getId(), convert.getCityCode(), convert.getStuGrade(), rectangle); - // 进行两表关联进行复杂查询 -// Pageable pageable = PageRequest.of(0,1000); - // 计算总数 -/* - long count = eduService.countMatchData(convert.getCityCode(), convert.getStuGrade(), rectangle); - if (count >= 0){ - buildRecord.setTotal(count); - }else{ - updateBuildRec(buildRecordDto, buildRecord); - return; - } -*/ - /* long count = 0L; - while(true){ - // 分页进行查询结果 - Slice page = eduService.queryMatchData(convert.getCityCode(), convert.getStuGrade(), rectangle, pageable); - // 记录总数 -// buildRecord.setTotal(page.getNumberOfElements()); - if (CollectionUtil.isEmpty(page)){ - // 没有查到记录 - buildRecord.setTotal(0L); - break; - } - // 准备待插入分表的集合 - List tagDtos = new ArrayList<>(); - page.forEach( - each->{ - Tag tag = new Tag(); - tag.setUid(each.trim()); - tag.setPushStatus(READY_SEND_TAG); - tag.setTaskId(Long.valueOf(buildRecordDto.getId())); - tagDtos.add(tag); - } - ); - // 每次的记录数 - count += tagDtos.size(); - // 把待发送记录存入分表 - Integer aLong = tagService.saveAll(tagDtos); - if (aLong <= 0){ - log.error("==== [save send record fail, please check , ready insert record is {} , activity id is {}] ====", tagDtos.toString(), task.getTaskBuildId()); - } - if (!page.hasNext()){ - break; - } - pageable = page.nextPageable(); - }*/ // 统计插入的总数 buildRecord.setTotal(Long.valueOf(count)); // 更新记录 updateBuildRec(buildRecordDto, buildRecord); + } /** diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/tag/service/impl/TagServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/tag/service/impl/TagServiceImpl.java index 78f092f..1ec6c2c 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/tag/service/impl/TagServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/tag/service/impl/TagServiceImpl.java @@ -17,6 +17,7 @@ package me.zhengjie.modules.tag.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.spatial4j.core.shape.Rectangle; +import lombok.extern.slf4j.Slf4j; import me.zhengjie.modules.student.domain.Student; import me.zhengjie.modules.tag.domain.Tag; import me.zhengjie.utils.*; @@ -56,6 +57,7 @@ import javax.servlet.http.HttpServletResponse; **/ @Service @RequiredArgsConstructor +@Slf4j public class TagServiceImpl implements TagService { @Value("${tag.split-table.sum}") @@ -153,7 +155,8 @@ public class TagServiceImpl implements TagService { // 设置复杂sql语句 StringBuilder insertSql = new StringBuilder(); insertSql.append("INSERT INTO dc_tag") - .append(taskId % tableSum) // 分表序号 + // 分表序号 + .append(taskId % tableSum) .append(" (uid, task_id, push_status) SELECT e.uid, ") .append(taskId) .append(", 0 FROM dc_school s JOIN dc_edu e ON s.oldid = e.mid "); @@ -178,6 +181,7 @@ public class TagServiceImpl implements TagService { insertSql.append(" ORDER BY RAND()"); //创建本地sql查询实例 Query dataQuery = entityManager.createNativeQuery(insertSql.toString()); + log.info("========================== [insertSql is {} ] ==========================", insertSql.toString()); // 设置参数 if (CollectionUtil.isNotEmpty(stuGrade)){ dataQuery.setParameter("stuGrade", stuGrade); diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index b7ec013..83e5237 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -1,6 +1,9 @@ #配置数据源 spring: shardingsphere: + props: + sql: + show: true datasource: names: eladmin,schema eladmin: diff --git a/eladmin-system/src/main/resources/config/application-test.yml b/eladmin-system/src/main/resources/config/application-test.yml index 8b7f207..fce570f 100644 --- a/eladmin-system/src/main/resources/config/application-test.yml +++ b/eladmin-system/src/main/resources/config/application-test.yml @@ -1,6 +1,9 @@ #配置数据源 spring: shardingsphere: + props: + sql: + show: true datasource: names: eladmin,schema eladmin: @@ -99,6 +102,7 @@ spring: sharding-column: task_id algorithm-expression: dc_tag$->{task_id % 10} + # 登录相关配置 login: # 登录缓存