diff --git a/src/main/java/com/peanut/common/utils/DataMigrationUtil.java b/src/main/java/com/peanut/common/utils/DataMigrationUtil.java index 0d04ab20..77684954 100644 --- a/src/main/java/com/peanut/common/utils/DataMigrationUtil.java +++ b/src/main/java/com/peanut/common/utils/DataMigrationUtil.java @@ -28,7 +28,7 @@ public class DataMigrationUtil extends Thread { // courseCatalogue(); // courseCatalogueChapter(); // courseCatalogueChapterVideo(); - user();//用的都是copy表里的数据 +// user();//用的都是copy表里的数据 } @@ -181,7 +181,7 @@ public class DataMigrationUtil extends Thread { "jdbc:mysql://rm-2zev4157t67trxuu3yo.mysql.rds.aliyuncs.com:3306/e_book_test?rewriteBatchedStatements=true", "nuttyreading", "Wu751019!"); PreparedStatement fzdsstatement = fzdsconn.prepareStatement( - "select c.id,c.uid,cc.id as ccid from course c left join course_catalogue cc on c.id = cc.course_id "); + "select c.id,c.uid,cc.id ccid,cc.title cctitle from course c left join course_catalogue cc on c.id = cc.course_id "); ResultSet fzdsresultSet = fzdsstatement.executeQuery(); List fzdslist = new ArrayList(); while(fzdsresultSet.next()){ @@ -189,6 +189,7 @@ public class DataMigrationUtil extends Thread { map.put("id",fzdsresultSet.getString("id")); map.put("uid",fzdsresultSet.getString("uid")); map.put("ccid",fzdsresultSet.getString("ccid")); + map.put("cctitle",fzdsresultSet.getString("cctitle")); fzdslist.add(map); } Connection yljkconn = DriverManager.getConnection( @@ -203,32 +204,31 @@ public class DataMigrationUtil extends Thread { PreparedStatement preparedStatement = connection.prepareStatement( "INSERT ignore INTO course_catalogue_chapter (course_id,catalogue_id,title,img_url,content,create_time,sort) VALUES ( ?, ?, ?, ?, ?, ?, ?)"); for (int q=1;q<=fzdslist.size(); q++){ - String selectSql = "select * from t_curriculum_detail where valid = 1 and poid in (select oid from t_curriculum_catalogue where valid = 1 and poid = '"+fzdslist.get(q-1).get("uid")+"')"; - PreparedStatement statement = yljkconn.prepareStatement(selectSql); - ResultSet resultSet = statement.executeQuery(); - Map map = new HashMap(); - while(resultSet.next()){ - map.put("title",resultSet.getString("title")); - map.put("imgUrl",resultSet.getString("imgUrl")); - map.put("content",resultSet.getString("explains")); - map.put("createDate",resultSet.getString("createDate")); - map.put("sort",resultSet.getString("orderNo")); - if (map.size() > 0){ - preparedStatement.setString(1,fzdslist.get(q-1).get("id").toString()); - preparedStatement.setString(2,fzdslist.get(q-1).get("ccid").toString()); - preparedStatement.setString(3,map.get("title").toString()); - preparedStatement.setString(4,map.get("imgUrl").toString()); - preparedStatement.setString(5,map.get("content").toString()); - preparedStatement.setString(6,map.get("createDate").toString()); - preparedStatement.setString(7,map.get("sort").toString()); - // 添加到批处理中 - preparedStatement.addBatch(); - res++; - if (res % 5000 == 0) { - long startTime1 = System.currentTimeMillis(); - preparedStatement.executeBatch(); - long spendTime1 = System.currentTimeMillis()-startTime1; - System.out.println("成功插入第"+ res +" 条数据,耗时:"+spendTime1+"毫秒"); + String catalogueSql = "select oid,title from t_curriculum_catalogue where valid = 1 and poid = '"+fzdslist.get(q-1).get("uid")+"'"; + PreparedStatement catalogueStatement = yljkconn.prepareStatement(catalogueSql); + ResultSet catalogueResultSet = catalogueStatement.executeQuery(); + while(catalogueResultSet.next()){ + if (catalogueResultSet.getString("title").equals(fzdslist.get(q-1).get("cctitle"))){ + String detailSql = "select * from t_curriculum_detail where valid = 1 and poid = '"+catalogueResultSet.getString("oid")+"'"; + PreparedStatement statement = yljkconn.prepareStatement(detailSql); + ResultSet resultSet = statement.executeQuery(); + while(resultSet.next()){ + preparedStatement.setString(1,fzdslist.get(q-1).get("id").toString()); + preparedStatement.setString(2,fzdslist.get(q-1).get("ccid").toString()); + preparedStatement.setString(3,resultSet.getString("title")); + preparedStatement.setString(4,resultSet.getString("imgUrl")); + preparedStatement.setString(5,resultSet.getString("explains")); + preparedStatement.setString(6,resultSet.getString("createDate")); + preparedStatement.setString(7,resultSet.getString("orderNo")); + // 添加到批处理中 + preparedStatement.addBatch(); + res++; + if (res % 5000 == 0) { + long startTime1 = System.currentTimeMillis(); + preparedStatement.executeBatch(); + long spendTime1 = System.currentTimeMillis()-startTime1; + System.out.println("成功插入第"+ res +" 条数据,耗时:"+spendTime1+"毫秒"); + } } } } diff --git a/src/main/java/com/peanut/modules/common/entity/CourseEntity.java b/src/main/java/com/peanut/modules/common/entity/CourseEntity.java index 9086f791..5ca51dba 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseEntity.java @@ -38,4 +38,6 @@ public class CourseEntity { private Integer bindId; @TableField(exist = false) private Date endTime; + @TableField(exist = false) + private Integer toSociologySort; } diff --git a/src/main/java/com/peanut/modules/common/entity/CourseToSociologyEntity.java b/src/main/java/com/peanut/modules/common/entity/CourseToSociologyEntity.java index 863cd9f4..c98832bb 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseToSociologyEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseToSociologyEntity.java @@ -17,6 +17,8 @@ public class CourseToSociologyEntity { private Integer sociologyId; + private Integer sort; + private Date createTime; @TableLogic diff --git a/src/main/java/com/peanut/modules/common/entity/JfTransactionDetails.java b/src/main/java/com/peanut/modules/common/entity/JfTransactionDetails.java index d06c1469..a825a2c8 100644 --- a/src/main/java/com/peanut/modules/common/entity/JfTransactionDetails.java +++ b/src/main/java/com/peanut/modules/common/entity/JfTransactionDetails.java @@ -45,4 +45,7 @@ public class JfTransactionDetails implements Serializable { @TableLogic private Integer delFlag; + @TableField(exist = false) + private MyUserEntity user; + } diff --git a/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java b/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java index c68bf056..eeb39f78 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java @@ -77,4 +77,10 @@ public class CourseSociologyController { } } + @RequestMapping("/updateCourseToSociologySort") + public R updateCourseToSociologySort(@RequestBody CourseToSociologyEntity courseToSociologyEntity){ + courseToSociologyService.updateById(courseToSociologyEntity); + return R.ok(); + } + } diff --git a/src/main/java/com/peanut/modules/master/controller/JfTransactionDetailsController.java b/src/main/java/com/peanut/modules/master/controller/JfTransactionDetailsController.java index 5e8b23fd..047b45a0 100644 --- a/src/main/java/com/peanut/modules/master/controller/JfTransactionDetailsController.java +++ b/src/main/java/com/peanut/modules/master/controller/JfTransactionDetailsController.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.R; import com.peanut.modules.common.entity.JfTransactionDetails; +import com.peanut.modules.common.entity.MyUserEntity; import com.peanut.modules.master.service.JfTransactionDetailsService; +import com.peanut.modules.master.service.MyUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -12,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; +import java.util.List; import java.util.Map; /** @@ -25,15 +29,25 @@ public class JfTransactionDetailsController { @Autowired private JfTransactionDetailsService jfService; + @Autowired + private MyUserService userService; + /** * 列表 */ @RequestMapping("/listByPage") public R listByPage(@RequestBody Map params) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,JfTransactionDetails::getUserId); + wrapper.selectAll(JfTransactionDetails.class); if (params.containsKey("userId")&& StringUtils.isNotEmpty(params.get("userId").toString())) { wrapper.eq(JfTransactionDetails::getUserId,params.get("userId")); } + if (params.containsKey("userName")&& StringUtils.isNotEmpty(params.get("userName").toString())) { + wrapper.like(MyUserEntity::getName,params.get("userName")); + wrapper.like(MyUserEntity::getNickname,params.get("userName")); + } + if (params.containsKey("actType")&&StringUtils.isNotEmpty(params.get("actType").toString())) { wrapper.eq(JfTransactionDetails::getActType,params.get("actType")); } @@ -41,9 +55,16 @@ public class JfTransactionDetailsController { wrapper.like(JfTransactionDetails::getRemark,params.get("remark")); } wrapper.orderByDesc(JfTransactionDetails::getCreateTime); - Page records = jfService.page(new Page<>( + Page page = jfService.page(new Page<>( Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); - return R.ok().put("result", records); + List records = page.getRecords(); + if (records.size() > 0) { + for (int i=0;i params) { + JfTransactionDetails jf = new JfTransactionDetails(); + MyUserEntity user = userService.getById(params.get("userId").toString()); + BigDecimal changeAmount = new BigDecimal(params.get("changeAmount").toString()); + String actType = params.get("actType").toString(); + if (actType.equals("0")) { + jf.setActType(0); + user.setJf(user.getJf().add(changeAmount)); + }else { + jf.setActType(1); + user.setJf(user.getJf().subtract(changeAmount)); + } + userService.updateById(user); + jf.setUserId(user.getId()); + jf.setChangeAmount(changeAmount); + jf.setRemark(params.get("remark").toString()); + jf.setUserBalance(user.getJf()); + jfService.save(jf); + return R.ok(); + } + + + + + @RequestMapping("/saveOrUpdateJfTransactionDetails") public R saveOrUpdateJfTransactionDetails(@RequestBody JfTransactionDetails jf) { jfService.saveOrUpdate(jf); diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java index dd03bfe0..d74a343d 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java @@ -32,6 +32,7 @@ public class CourseCatalogueServiceImpl extends ServiceImpl getCourseCatalogues(int id) { LambdaQueryWrapper courseCatalogueEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); courseCatalogueEntityLambdaQueryWrapper.eq(CourseCatalogueEntity::getCourseId,id); + courseCatalogueEntityLambdaQueryWrapper.orderByAsc(CourseCatalogueEntity::getSort); List list = this.list(courseCatalogueEntityLambdaQueryWrapper); return list; } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java index 9e1a1050..37b27c4d 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java @@ -103,8 +103,10 @@ public class CourseServiceImpl extends ServiceImpl impl MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); wrapper.selectAll(CourseEntity.class); wrapper.selectAs(CourseToSociologyEntity::getId,"bindId"); + wrapper.selectAs(CourseToSociologyEntity::getSort,"toSociologySort"); wrapper.leftJoin(CourseEntity.class,CourseEntity::getId,CourseToSociologyEntity::getCourseId); wrapper.eq(CourseToSociologyEntity::getSociologyId,sociologyId); + wrapper.orderByAsc(CourseToSociologyEntity::getSort); List courseEntities = courseToSociologyDao.selectJoinList(CourseEntity.class, wrapper); return courseEntities; }