From d39965b032d1a75f0413869f7b24088c109e580b Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 17 May 2024 17:59:38 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=90=88=E5=B9=B6-?= =?UTF-8?q?=E6=B9=96=E5=88=86=20=E7=AE=A1=E7=90=86=E7=AB=AF-=E6=B9=96?= =?UTF-8?q?=E5=88=86=E7=AE=A1=E7=90=86=20=E9=80=9A=E7=94=A8=E6=A8=A1?= =?UTF-8?q?=E5=9D=97-=E6=B9=96=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/utils/DataMigrationUtil.java | 63 ++++++++++++---- .../UserContributionController.java | 58 ++++++++++++++ .../common/dao/UserContributionDao.java | 9 +++ .../common/entity/UserContribution.java | 38 ++++++++++ .../service/UserContributionService.java | 7 ++ .../impl/UserContributionServiceImpl.java | 13 ++++ .../UserContributionController.java | 75 +++++++++++++++++++ .../service/UserContributionService.java | 7 ++ .../impl/UserContributionServiceImpl.java | 13 ++++ 9 files changed, 268 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/controller/UserContributionController.java create mode 100644 src/main/java/com/peanut/modules/common/dao/UserContributionDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/UserContribution.java create mode 100644 src/main/java/com/peanut/modules/common/service/UserContributionService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/UserContributionServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/master/controller/UserContributionController.java create mode 100644 src/main/java/com/peanut/modules/master/service/UserContributionService.java create mode 100644 src/main/java/com/peanut/modules/master/service/impl/UserContributionServiceImpl.java diff --git a/src/main/java/com/peanut/common/utils/DataMigrationUtil.java b/src/main/java/com/peanut/common/utils/DataMigrationUtil.java index c857a47f..0c681d81 100644 --- a/src/main/java/com/peanut/common/utils/DataMigrationUtil.java +++ b/src/main/java/com/peanut/common/utils/DataMigrationUtil.java @@ -15,11 +15,13 @@ public class DataMigrationUtil extends Thread { Map map; int i; + Connection yljkconn; Connection fzdsconn; - public DataMigrationUtil(Map map,int i,Connection fzdsconn){ + public DataMigrationUtil(Map map,int i,Connection yljkconn,Connection fzdsconn){ this.map = map; this.i = i; + this.yljkconn = yljkconn; this.fzdsconn = fzdsconn; } @@ -29,8 +31,8 @@ public class DataMigrationUtil extends Thread { // courseCatalogue(); // courseCatalogueChapter(); // courseCatalogueChapterVideo(); -// user();//用的都是copy表里的数据 -//TRUNCATE + user();//用的都是copy表里的数据 +// truncate(); } @@ -337,7 +339,27 @@ public class DataMigrationUtil extends Thread { } } + public static void truncate(){ + try { + Connection fzdsconn = DriverManager.getConnection( + "jdbc:mysql://rm-2zev4157t67trxuu3yo.mysql.rds.aliyuncs.com:3306/e_book_test?rewriteBatchedStatements=true", + "nuttyreading", "Wu751019!"); + PreparedStatement statement = fzdsconn.prepareStatement("TRUNCATE table user_copy1;"); + statement.execute(); + PreparedStatement statement2 = fzdsconn.prepareStatement("TRUNCATE table user_vip_copy1;"); + statement2.execute(); + PreparedStatement statement3 = fzdsconn.prepareStatement("TRUNCATE table transaction_details_copy1;"); + statement3.execute(); + PreparedStatement statement4 = fzdsconn.prepareStatement("TRUNCATE table user_contribution;"); + statement4.execute(); + System.out.println("清空完成"); + }catch (SQLException e) { + System.out.println(e.getMessage()); + } + } + public static void user(){ + truncate(); try { long startTime = System.currentTimeMillis(); Connection yljkconn = DriverManager.getConnection( @@ -362,15 +384,13 @@ public class DataMigrationUtil extends Thread { list.add(map); } resultSet.close(); - statement.close(); - yljkconn.close(); Connection fzdsconn = DriverManager.getConnection( "jdbc:mysql://rm-2zev4157t67trxuu3yo.mysql.rds.aliyuncs.com:3306/e_book_test?rewriteBatchedStatements=true", "nuttyreading", "Wu751019!"); // 1、创建服务,创建线程池 ExecutorService service = Executors.newFixedThreadPool(50); for (int i=0;i { +} diff --git a/src/main/java/com/peanut/modules/common/entity/UserContribution.java b/src/main/java/com/peanut/modules/common/entity/UserContribution.java new file mode 100644 index 00000000..dee2e100 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/UserContribution.java @@ -0,0 +1,38 @@ +package com.peanut.modules.common.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import java.util.Date; + +@Data +@TableName("user_contribution") +public class UserContribution { + + @TableId + private Integer id; + + private Integer userId; + + //分数 + private Double score; + + //明细 + private String detail; + + //类型 在线教学 01 学术期刊 03 太湖讲堂 05 创作技术 07 注册邀请 11 课程邀请 13 + private String type; + + //兑换标志 未兑换0 兑换完毕1 + private Integer conversionFlag; + + private Date createTime; + + @TableLogic + private Integer delFlag; + + @TableField(exist = false) + private MyUserEntity user; +} diff --git a/src/main/java/com/peanut/modules/common/service/UserContributionService.java b/src/main/java/com/peanut/modules/common/service/UserContributionService.java new file mode 100644 index 00000000..3e962c13 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/UserContributionService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.UserContribution; + +public interface UserContributionService extends IService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/UserContributionServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/UserContributionServiceImpl.java new file mode 100644 index 00000000..f47bb079 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/UserContributionServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.UserContributionDao; +import com.peanut.modules.common.entity.UserContribution; +import com.peanut.modules.common.service.UserContributionService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("commonUserContributionService") +public class UserContributionServiceImpl extends ServiceImpl implements UserContributionService { +} diff --git a/src/main/java/com/peanut/modules/master/controller/UserContributionController.java b/src/main/java/com/peanut/modules/master/controller/UserContributionController.java new file mode 100644 index 00000000..5e779305 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/controller/UserContributionController.java @@ -0,0 +1,75 @@ +package com.peanut.modules.master.controller; + +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.MyUserEntity; +import com.peanut.modules.common.entity.UserContribution; +import com.peanut.modules.master.service.MyUserService; +import com.peanut.modules.master.service.UserContributionService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * 湖分管理 + */ +@Slf4j +@RestController("masterUserContribution") +@RequestMapping("master/userContribution") +public class UserContributionController { + + @Autowired + private UserContributionService contributionService; + @Autowired + private MyUserService userService; + + @RequestMapping("/listByPage") + public R listByPage(@RequestBody Map params) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.selectAll(UserContribution.class); + wrapper.leftJoin(MyUserEntity.class, MyUserEntity::getId, UserContribution::getUserId); + 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("tel")&& StringUtils.isNotEmpty(params.get("tel").toString())) { + wrapper.like(MyUserEntity::getTel,params.get("tel")); + } + if (params.containsKey("email")&& StringUtils.isNotEmpty(params.get("email").toString())) { + wrapper.like(MyUserEntity::getEmail,params.get("email")); + } + if (params.containsKey("type")&& StringUtils.isNotEmpty(params.get("type").toString())) { + wrapper.eq(UserContribution::getType,params.get("type")); + } + wrapper.orderByDesc(UserContribution::getCreateTime); + Page page = contributionService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); + List userContributions = page.getRecords(); + if (userContributions.size() > 0){ + for (UserContribution contribution : userContributions) { + contribution.setUser(userService.getById(contribution.getUserId())); + } + } + return R.ok().put("result", page); + } + + @RequestMapping("/saveUserContribution") + public R saveUserContribution(@RequestBody UserContribution contribution) { + contributionService.save(contribution); + return R.ok(); + } + + @RequestMapping("/delUserContribution") + public R delMessage(String id) { + contributionService.removeById(id); + return R.ok(); + } + +} diff --git a/src/main/java/com/peanut/modules/master/service/UserContributionService.java b/src/main/java/com/peanut/modules/master/service/UserContributionService.java new file mode 100644 index 00000000..ea9c4d2e --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/UserContributionService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.master.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.UserContribution; + +public interface UserContributionService extends IService { +} diff --git a/src/main/java/com/peanut/modules/master/service/impl/UserContributionServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/UserContributionServiceImpl.java new file mode 100644 index 00000000..4cc2c751 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/impl/UserContributionServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.master.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.UserContributionDao; +import com.peanut.modules.common.entity.UserContribution; +import com.peanut.modules.master.service.UserContributionService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("masterUserContributionService") +public class UserContributionServiceImpl extends ServiceImpl implements UserContributionService { +} From 6e451370374b304c12defda097fe2eac8fce6dc3 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 24 May 2024 09:33:14 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=BF=87=E6=BB=A4=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E4=B8=BA0=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CourseServiceImpl.java | 65 +++++++++++-------- 1 file changed, 37 insertions(+), 28 deletions(-) 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 25ed6d14..f388b9f0 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 @@ -15,7 +15,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -126,34 +128,41 @@ public class CourseServiceImpl extends ServiceImpl impl continue; } CourseEntity one = this.getOne(new LambdaQueryWrapper().eq(CourseEntity::getId, c.getCourseId())); - ShopProduct shopProduct = new ShopProduct(); - shopProduct.setProductName(one.getTitle()+"."+c.getTitle()+"(半年)"); - shopProduct.setPrice(c.getHalfFee()); - shopProduct.setGoodsType("05"); - shopProduct.setProductStock(2000); - shopProductDao.insert(shopProduct); - //添加半年期的商品课程对应关系 - ShopProductCourseEntity shopProductCourseEntity = new ShopProductCourseEntity(); - shopProductCourseEntity.setProductId(shopProduct.getProductId()); - shopProductCourseEntity.setCourseId(c.getCourseId()); - shopProductCourseEntity.setCatalogueId(c.getId()); - shopProductCourseEntity.setDays(180); - shopProductCourseDao.insert(shopProductCourseEntity); - - //添加一年期商品 - ShopProduct shopProduct1 = new ShopProduct(); - shopProduct1.setProductName(one.getTitle()+"."+c.getTitle()+"(一年)"); - shopProduct1.setPrice(c.getFee()); - shopProduct1.setGoodsType("05"); - shopProduct1.setProductStock(2000); - shopProductDao.insert(shopProduct1); - //添加一年期的商品课程对应关系 - ShopProductCourseEntity shopProductCourseEntity1 = new ShopProductCourseEntity(); - shopProductCourseEntity1.setProductId(shopProduct1.getProductId()); - shopProductCourseEntity1.setCourseId(c.getCourseId()); - shopProductCourseEntity1.setCatalogueId(c.getId()); - shopProductCourseEntity1.setDays(365); - shopProductCourseDao.insert(shopProductCourseEntity1); + if (c.getHalfFee().compareTo(new BigDecimal(0))==1) { + ShopProduct shopProduct = new ShopProduct(); + shopProduct.setProductName(one.getTitle() + "." + c.getTitle() + "(半年)"); + shopProduct.setPrice(c.getHalfFee()); + shopProduct.setGoodsType("05"); + shopProduct.setProductStock(2000); + shopProduct.setCreateTime(new Date()); + shopProduct.setProductImages(one.getImage()); + shopProductDao.insert(shopProduct); + //添加半年期的商品课程对应关系 + ShopProductCourseEntity shopProductCourseEntity = new ShopProductCourseEntity(); + shopProductCourseEntity.setProductId(shopProduct.getProductId()); + shopProductCourseEntity.setCourseId(c.getCourseId()); + shopProductCourseEntity.setCatalogueId(c.getId()); + shopProductCourseEntity.setDays(180); + shopProductCourseDao.insert(shopProductCourseEntity); + } + if (c.getFee().compareTo(new BigDecimal(0))==1){ + //添加一年期商品 + ShopProduct shopProduct1 = new ShopProduct(); + shopProduct1.setProductName(one.getTitle()+"."+c.getTitle()+"(一年)"); + shopProduct1.setPrice(c.getFee()); + shopProduct1.setGoodsType("05"); + shopProduct1.setProductStock(2000); + shopProduct1.setCreateTime(new Date()); + shopProduct1.setProductImages(one.getImage()); + shopProductDao.insert(shopProduct1); + //添加一年期的商品课程对应关系 + ShopProductCourseEntity shopProductCourseEntity1 = new ShopProductCourseEntity(); + shopProductCourseEntity1.setProductId(shopProduct1.getProductId()); + shopProductCourseEntity1.setCourseId(c.getCourseId()); + shopProductCourseEntity1.setCatalogueId(c.getId()); + shopProductCourseEntity1.setDays(365); + shopProductCourseDao.insert(shopProductCourseEntity1); + } } } From e910eb8f599ef8e3438a26cc883ae67907f77dc4 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 24 May 2024 15:57:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?masterShopStore=E6=8D=A2masterShopStoreServ?= =?UTF-8?q?ice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/master/service/impl/ShopStoreServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/peanut/modules/master/service/impl/ShopStoreServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/ShopStoreServiceImpl.java index 0e32d24a..37d415e6 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/ShopStoreServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/ShopStoreServiceImpl.java @@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Slf4j -@Service("masterShopStore") +@Service("masterShopStoreService") public class ShopStoreServiceImpl extends ServiceImpl implements ShopStoreService { @Autowired private ShopStoreToProductDao shopStoreToProductDao; From 954513ab6d2ee3c78aefca9fc4221bc069931482 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 24 May 2024 16:35:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/controller/MessageController.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/peanut/modules/master/controller/MessageController.java b/src/main/java/com/peanut/modules/master/controller/MessageController.java index 8b2617b8..60c4c2e6 100644 --- a/src/main/java/com/peanut/modules/master/controller/MessageController.java +++ b/src/main/java/com/peanut/modules/master/controller/MessageController.java @@ -27,20 +27,18 @@ public class MessageController { @RequestMapping("/listByPage") public R listByPage(@RequestBody Map params) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); - if (params.containsKey("title")&& StringUtils.isNotEmpty(params.get("title").toString())) { + if (StringUtils.isNotEmpty(params.get("title").toString())) { wrapper.like(Message::getTitle,params.get("title")); } - if (params.containsKey("type")&& StringUtils.isNotEmpty(params.get("type").toString())) { + if (StringUtils.isNotEmpty(params.get("type").toString())) { wrapper.eq(Message::getType,params.get("type")); } - if (params.containsKey("isBook")&& StringUtils.isNotEmpty(params.get("isBook").toString())) { - wrapper.eq(Message::getIsBook,params.get("isBook")); - } - if (params.containsKey("isMedical")&& StringUtils.isNotEmpty(params.get("isMedical").toString())) { - wrapper.eq(Message::getIsBook,params.get("isMedical")); - } - if (params.containsKey("isSociology")&& StringUtils.isNotEmpty(params.get("isSociology").toString())) { - wrapper.eq(Message::getIsBook,params.get("isSociology")); + if (StringUtils.isNotEmpty(params.get("isBook").toString())|| + StringUtils.isNotEmpty(params.get("isMedical").toString())|| + StringUtils.isNotEmpty(params.get("isSociology").toString())) { + wrapper.and(t->t.eq("1".equals(params.get("isBook").toString()),Message::getIsBook,params.get("isBook")) + .or().eq("1".equals(params.get("isMedical").toString()),Message::getIsMedical,params.get("isMedical")) + .or().eq("1".equals(params.get("isSociology").toString()),Message::getIsSociology,params.get("isSociology"))); } wrapper.orderByDesc(Message::getCreateTime); Page page = messageService.page(new Page<>(