From e5f4a6ad14d91ec88e6ce09cf94cd721102ef8f8 Mon Sep 17 00:00:00 2001 From: linfeng <2445465217@qq.com> Date: Sat, 23 Apr 2022 20:22:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E9=A6=96=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3&=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 18 ++++++ .../common/response/HomeRateResponse.java | 33 ++++++----- .../admin/controller/StatisticController.java | 13 ++++- .../modules/admin/service/AppUserService.java | 7 +++ .../service/impl/AppUserServiceImpl.java | 57 +++++++++++++++---- .../service/impl/CommentServiceImpl.java | 7 +-- .../service/impl/MessageServiceImpl.java | 6 +- .../admin/service/impl/PostServiceImpl.java | 22 +++---- .../admin/service/impl/SystemServiceImpl.java | 4 +- .../admin/service/impl/TopicServiceImpl.java | 2 +- .../impl/PostCollectionServiceImpl.java | 15 ++--- .../service/impl/PostFabulousServiceImpl.java | 5 +- .../service/impl/TopicAdminServiceImpl.java | 2 +- .../app/service/impl/TopicTopServiceImpl.java | 5 +- .../service/impl/UserTopicServiceImpl.java | 2 +- src/main/resources/banner.txt | 7 ++- .../linfeng-community-vue/package-lock.json | 2 +- .../src/views/common/home.vue | 6 +- .../src/views/modules/admin/user.vue | 2 +- 19 files changed, 135 insertions(+), 80 deletions(-) diff --git a/.gitignore b/.gitignore index dd851b6..3cd381a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,21 @@ target # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* + +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +/test/unit/coverage/ +/test/e2e/reports/ +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln \ No newline at end of file diff --git a/src/main/java/io/linfeng/common/response/HomeRateResponse.java b/src/main/java/io/linfeng/common/response/HomeRateResponse.java index a26061a..f73606c 100644 --- a/src/main/java/io/linfeng/common/response/HomeRateResponse.java +++ b/src/main/java/io/linfeng/common/response/HomeRateResponse.java @@ -8,34 +8,33 @@ import lombok.experimental.Accessors; import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + /** - * 主页统计数据对象 + * 面板统计数据对象 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@ApiModel(value="HomeRateResponse对象", description="主页统计数据对象") +@ApiModel(value="HomeRateResponse对象", description="面板统计数据对象") public class HomeRateResponse implements Serializable { private static final long serialVersionUID=1L; - @ApiModelProperty(value = "今日销售额") - private Object sales; + @ApiModelProperty(value = "总用户数") + private Object totalUser; - @ApiModelProperty(value = "昨日销售额") - private Object yesterdaySales; + @ApiModelProperty(value = "总帖子数") + private Object totalPost; - @ApiModelProperty(value = "今日访问量") - private Object pageviews; - - @ApiModelProperty(value = "昨日访问量") - private Object yesterdayPageviews; - - @ApiModelProperty(value = "今日订单量") - private Object orderNum; - - @ApiModelProperty(value = "昨日订单量") - private Object yesterdayOrderNum; + @ApiModelProperty(value = "总待审核帖子数") + private Object totalPostOfReview; @ApiModelProperty(value = "今日新增用户") private Object newUserNum; diff --git a/src/main/java/io/linfeng/modules/admin/controller/StatisticController.java b/src/main/java/io/linfeng/modules/admin/controller/StatisticController.java index 77b0bb7..4330e01 100644 --- a/src/main/java/io/linfeng/modules/admin/controller/StatisticController.java +++ b/src/main/java/io/linfeng/modules/admin/controller/StatisticController.java @@ -1,12 +1,15 @@ package io.linfeng.modules.admin.controller; import io.linfeng.common.utils.R; +import io.linfeng.modules.admin.service.AppUserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 后台前端首页数据统计 + * * @author linfeng * @date 2022/4/17 16:49 */ @@ -14,9 +17,13 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("admin/statistics") public class StatisticController { - @GetMapping("/home") - public R index(){ + @Autowired + private AppUserService userService; - return R.ok(); + + @GetMapping("/home") + public R index() { + + return R.ok().put("result", userService.indexDate()); } } diff --git a/src/main/java/io/linfeng/modules/admin/service/AppUserService.java b/src/main/java/io/linfeng/modules/admin/service/AppUserService.java index 844b210..6352e1a 100644 --- a/src/main/java/io/linfeng/modules/admin/service/AppUserService.java +++ b/src/main/java/io/linfeng/modules/admin/service/AppUserService.java @@ -3,6 +3,7 @@ package io.linfeng.modules.admin.service; import com.baomidou.mybatisplus.extension.service.IService; import io.linfeng.common.response.AppUserInfoResponse; import io.linfeng.common.response.AppUserResponse; +import io.linfeng.common.response.HomeRateResponse; import io.linfeng.common.utils.AppPageUtils; import io.linfeng.common.utils.PageUtils; import io.linfeng.modules.admin.entity.AppUserEntity; @@ -27,5 +28,11 @@ public interface AppUserService extends IService { void ban(Integer id); void openBan(Integer id); + + /** + * 首页数据 + * @return HomeRateResponse + */ + HomeRateResponse indexDate(); } diff --git a/src/main/java/io/linfeng/modules/admin/service/impl/AppUserServiceImpl.java b/src/main/java/io/linfeng/modules/admin/service/impl/AppUserServiceImpl.java index 4490efa..85279aa 100644 --- a/src/main/java/io/linfeng/modules/admin/service/impl/AppUserServiceImpl.java +++ b/src/main/java/io/linfeng/modules/admin/service/impl/AppUserServiceImpl.java @@ -1,9 +1,12 @@ package io.linfeng.modules.admin.service.impl; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.linfeng.common.exception.LinfengException; +import io.linfeng.common.response.HomeRateResponse; import io.linfeng.common.utils.*; +import io.linfeng.modules.admin.entity.PostEntity; import io.linfeng.modules.admin.service.*; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -17,11 +20,20 @@ import io.linfeng.modules.admin.entity.AppUserEntity; public class AppUserServiceImpl extends ServiceImpl implements AppUserService { + @Autowired + private PostService postService; + + @Autowired + private AppUserDao userDao; + + @Override public PageUtils queryPage(Map params) { + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().orderByDesc(AppUserEntity::getUid); IPage page = this.page( new Query().getPage(params), - new QueryWrapper<>() + queryWrapper ); return new PageUtils(page); @@ -34,10 +46,10 @@ public class AppUserServiceImpl extends ServiceImpl i if(status==1){ throw new LinfengException("该用户已被禁用"); } - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("status",1); - updateWrapper.eq("uid",id); - update(updateWrapper); + this.lambdaUpdate() + .set(AppUserEntity::getStatus,1) + .eq(AppUserEntity::getUid,id) + .update(); } @Override @@ -46,11 +58,36 @@ public class AppUserServiceImpl extends ServiceImpl i if(status==0){ throw new LinfengException("该用户已解除禁用"); } - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("status",0); - updateWrapper.eq("uid",id); - update(updateWrapper); + this.lambdaUpdate() + .set(AppUserEntity::getStatus,0) + .eq(AppUserEntity::getUid,id) + .update(); } + @Override + public HomeRateResponse indexDate() { + String today = cn.hutool.core.date.DateUtil.date().toString("yyyy-MM-dd"); + String yesterday = cn.hutool.core.date.DateUtil.yesterday().toString("yyyy-MM-dd"); +// Integer count = postService.lambdaQuery().eq(PostEntity::getStatus, Constant.POST_REVIEWED).count(); + Integer postCount = postService.lambdaQuery().select(PostEntity::getId).count(); + HomeRateResponse response = new HomeRateResponse(); + response.setTotalPostOfReview(0); + response.setTotalPost(postCount); + response.setNewUserNum(this.getRegisterNumByDate(today)); + response.setYesterdayNewUserNum(this.getRegisterNumByDate(yesterday)); + response.setTotalUser(this.getTotalNum()); + return response; + } + + private Integer getTotalNum() { + return this.lambdaQuery().select(AppUserEntity::getUid).count(); + } + + private Integer getRegisterNumByDate(String date) { + QueryWrapper wrapper = Wrappers.query(); + wrapper.select("uid"); + wrapper.apply("date_format(create_time, '%Y-%m-%d') = {0}", date); + return userDao.selectCount(wrapper); + } } \ No newline at end of file diff --git a/src/main/java/io/linfeng/modules/admin/service/impl/CommentServiceImpl.java b/src/main/java/io/linfeng/modules/admin/service/impl/CommentServiceImpl.java index a3d5732..85b96b5 100644 --- a/src/main/java/io/linfeng/modules/admin/service/impl/CommentServiceImpl.java +++ b/src/main/java/io/linfeng/modules/admin/service/impl/CommentServiceImpl.java @@ -34,19 +34,16 @@ public class CommentServiceImpl extends ServiceImpl i @Override public Integer getCountByTopicId(Integer id) { - Integer count = baseMapper.selectCount(new LambdaQueryWrapper() + return baseMapper.selectCount(new LambdaQueryWrapper() .eq(CommentEntity::getStatus,1) .eq(CommentEntity::getPostId, id)); - - return count; } @Override public List getByPid(Long pid) { - List commentList = baseMapper.selectList( + return baseMapper.selectList( new LambdaQueryWrapper() .eq(CommentEntity::getPid, pid)); - return commentList; } diff --git a/src/main/java/io/linfeng/modules/admin/service/impl/MessageServiceImpl.java b/src/main/java/io/linfeng/modules/admin/service/impl/MessageServiceImpl.java index 8f93599..d3c7392 100644 --- a/src/main/java/io/linfeng/modules/admin/service/impl/MessageServiceImpl.java +++ b/src/main/java/io/linfeng/modules/admin/service/impl/MessageServiceImpl.java @@ -86,14 +86,12 @@ public class MessageServiceImpl extends ServiceImpl i @Override public Boolean status(Integer type, Integer uid) { - List list = new ArrayList<>(); - list.add(Constant.STAR); - list.add(Constant.COLLECT); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.set("status",1); updateWrapper.eq("to_uid",uid); if(type==1){ - updateWrapper.in("type",list); + updateWrapper.and(wrapper->wrapper.eq("type",Constant.STAR).or().eq("type",Constant.COLLECT)); }else if(type==2){ updateWrapper.eq("type",Constant.WATCH); }else if(type==3){ diff --git a/src/main/java/io/linfeng/modules/admin/service/impl/PostServiceImpl.java b/src/main/java/io/linfeng/modules/admin/service/impl/PostServiceImpl.java index 0b9ff2b..c2b7569 100644 --- a/src/main/java/io/linfeng/modules/admin/service/impl/PostServiceImpl.java +++ b/src/main/java/io/linfeng/modules/admin/service/impl/PostServiceImpl.java @@ -85,8 +85,7 @@ public class PostServiceImpl extends ServiceImpl implements public Integer findTopicPostCount(Integer topicId) { LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(PostEntity::getTopicId,topicId); - Integer num = baseMapper.selectCount(lambdaQueryWrapper); - return num; + return baseMapper.selectCount(lambdaQueryWrapper); } /** @@ -96,26 +95,29 @@ public class PostServiceImpl extends ServiceImpl implements */ @Override public List findThreeMedia(Integer id) { - QueryWrapper queryWrapper=new QueryWrapper(); + QueryWrapper queryWrapper=new QueryWrapper<>(); queryWrapper.eq("topic_id",id); queryWrapper.eq("type",1); queryWrapper.orderByDesc("read_count"); - queryWrapper.last("limit 3"); + queryWrapper.last("limit 10"); List postEntityList = baseMapper.selectList(queryWrapper); List imageList=new ArrayList<>(); - postEntityList.forEach(list->{ - if(!list.getMedia().equals("")){ - List jsonToList = JsonUtils.JsonToList(list.getMedia()); + for (int i = 0; i < postEntityList.size() ; i++) { + if(!postEntityList.get(i).getMedia().equals("")){ + List jsonToList = JsonUtils.JsonToList(postEntityList.get(i).getMedia()); if(jsonToList.size()>0){ - imageList.add(jsonToList.get(0)); + if(imageList.size()>2){ + break; + }else{ + imageList.add(jsonToList.get(0)); + } } } - }); + } return imageList; } - @Override @Transactional public void deleteByAdmin(List ids) { diff --git a/src/main/java/io/linfeng/modules/admin/service/impl/SystemServiceImpl.java b/src/main/java/io/linfeng/modules/admin/service/impl/SystemServiceImpl.java index b2a105e..f040eaa 100644 --- a/src/main/java/io/linfeng/modules/admin/service/impl/SystemServiceImpl.java +++ b/src/main/java/io/linfeng/modules/admin/service/impl/SystemServiceImpl.java @@ -17,14 +17,12 @@ import io.linfeng.modules.admin.service.SystemService; @Service("systemService") public class SystemServiceImpl extends ServiceImpl implements SystemService { - @Autowired - private AppUserDao appUserDao; @Override public PageUtils queryPage(Map params) { IPage page = this.page( new Query().getPage(params), - new QueryWrapper() + new QueryWrapper<>() ); return new PageUtils(page); diff --git a/src/main/java/io/linfeng/modules/admin/service/impl/TopicServiceImpl.java b/src/main/java/io/linfeng/modules/admin/service/impl/TopicServiceImpl.java index 9d2c00a..5401dee 100644 --- a/src/main/java/io/linfeng/modules/admin/service/impl/TopicServiceImpl.java +++ b/src/main/java/io/linfeng/modules/admin/service/impl/TopicServiceImpl.java @@ -35,7 +35,7 @@ public class TopicServiceImpl extends ServiceImpl impleme public AppPageUtils queryByPage(Map params) { Integer classId = Integer.valueOf((String) params.get(Constant.CLASSID)); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("cate_id", classId); + queryWrapper.lambda().eq(TopicEntity::getCateId, classId); IPage page = this.page( new Query().getPage(params), diff --git a/src/main/java/io/linfeng/modules/app/service/impl/PostCollectionServiceImpl.java b/src/main/java/io/linfeng/modules/app/service/impl/PostCollectionServiceImpl.java index d88e5c9..e4c0d8c 100644 --- a/src/main/java/io/linfeng/modules/app/service/impl/PostCollectionServiceImpl.java +++ b/src/main/java/io/linfeng/modules/app/service/impl/PostCollectionServiceImpl.java @@ -27,7 +27,7 @@ public class PostCollectionServiceImpl extends ServiceImpl params) { IPage page = this.page( new Query().getPage(params), - new QueryWrapper() + new QueryWrapper<>() ); return new PageUtils(page); @@ -35,10 +35,9 @@ public class PostCollectionServiceImpl extends ServiceImpl() - .eq(PostCollectionEntity::getPostId, postId)); - return count; + return baseMapper.selectCount(new LambdaQueryWrapper() + .eq(PostCollectionEntity::getPostId, postId)); } @Override @@ -47,10 +46,7 @@ public class PostCollectionServiceImpl extends ServiceImpl() .eq(PostCollectionEntity::getPostId, postId) .eq(PostCollectionEntity::getUid, uid)); - if(entity!=null){ - return true; - } - return false; + return entity != null; } @Override @@ -66,8 +62,7 @@ public class PostCollectionServiceImpl extends ServiceImpl postCollectionEntities = baseMapper.selectList(lambdaQueryWrapper); - List collect = postCollectionEntities.stream().map(PostCollectionEntity::getPostId).collect(Collectors.toList()); - return collect; + return postCollectionEntities.stream().map(PostCollectionEntity::getPostId).collect(Collectors.toList()); } } \ No newline at end of file diff --git a/src/main/java/io/linfeng/modules/app/service/impl/PostFabulousServiceImpl.java b/src/main/java/io/linfeng/modules/app/service/impl/PostFabulousServiceImpl.java index 4455b94..7f3e03b 100644 --- a/src/main/java/io/linfeng/modules/app/service/impl/PostFabulousServiceImpl.java +++ b/src/main/java/io/linfeng/modules/app/service/impl/PostFabulousServiceImpl.java @@ -33,10 +33,7 @@ public class PostFabulousServiceImpl extends ServiceImpl() .eq(PostFabulousEntity::getPostId, id) .eq(PostFabulousEntity::getUid, uid)); - if(entity!=null){ - return true; - } - return false; + return entity != null; } } \ No newline at end of file diff --git a/src/main/java/io/linfeng/modules/app/service/impl/TopicAdminServiceImpl.java b/src/main/java/io/linfeng/modules/app/service/impl/TopicAdminServiceImpl.java index f132547..42967d1 100644 --- a/src/main/java/io/linfeng/modules/app/service/impl/TopicAdminServiceImpl.java +++ b/src/main/java/io/linfeng/modules/app/service/impl/TopicAdminServiceImpl.java @@ -22,7 +22,7 @@ public class TopicAdminServiceImpl extends ServiceImpl params) { IPage page = this.page( new Query().getPage(params), - new QueryWrapper() + new QueryWrapper<>() ); return new PageUtils(page); diff --git a/src/main/java/io/linfeng/modules/app/service/impl/TopicTopServiceImpl.java b/src/main/java/io/linfeng/modules/app/service/impl/TopicTopServiceImpl.java index 9239773..e84d263 100644 --- a/src/main/java/io/linfeng/modules/app/service/impl/TopicTopServiceImpl.java +++ b/src/main/java/io/linfeng/modules/app/service/impl/TopicTopServiceImpl.java @@ -25,7 +25,7 @@ public class TopicTopServiceImpl extends ServiceImpl params) { IPage page = this.page( new Query().getPage(params), - new QueryWrapper() + new QueryWrapper<>() ); return new PageUtils(page); @@ -35,8 +35,7 @@ public class TopicTopServiceImpl extends ServiceImpl findByTopicId(Integer topicId) { LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(TopicTopEntity::getTopicId, topicId); - List list = baseMapper.selectList(lambdaQueryWrapper); - return list; + return baseMapper.selectList(lambdaQueryWrapper); } } \ No newline at end of file diff --git a/src/main/java/io/linfeng/modules/app/service/impl/UserTopicServiceImpl.java b/src/main/java/io/linfeng/modules/app/service/impl/UserTopicServiceImpl.java index 3060cb2..c3eedba 100644 --- a/src/main/java/io/linfeng/modules/app/service/impl/UserTopicServiceImpl.java +++ b/src/main/java/io/linfeng/modules/app/service/impl/UserTopicServiceImpl.java @@ -21,7 +21,7 @@ public class UserTopicServiceImpl extends ServiceImpl params) { IPage page = this.page( new Query().getPage(params), - new QueryWrapper() + new QueryWrapper<>() ); return new PageUtils(page); diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt index 7bd1ae6..3612f0e 100644 --- a/src/main/resources/banner.txt +++ b/src/main/resources/banner.txt @@ -1,5 +1,6 @@ -==================================================================================================================== +=================================================================================================================================== - 欢迎使用林风科技_社交圈子app后端api + 欢迎使用林风社交论坛项目后端api + https://www.linfeng.tech -==================================================================================================================== \ No newline at end of file +=================================================================================================================================== \ No newline at end of file diff --git a/src/main/resources/static/linfeng-community-vue/package-lock.json b/src/main/resources/static/linfeng-community-vue/package-lock.json index 853481d..a9f71e3 100644 --- a/src/main/resources/static/linfeng-community-vue/package-lock.json +++ b/src/main/resources/static/linfeng-community-vue/package-lock.json @@ -1,5 +1,5 @@ { - "name": "linfengCommunity-vue", + "name": "linfeng-community-vue", "version": "1.2.2", "lockfileVersion": 1, "requires": true, diff --git a/src/main/resources/static/linfeng-community-vue/src/views/common/home.vue b/src/main/resources/static/linfeng-community-vue/src/views/common/home.vue index e5cfe36..5a83f52 100644 --- a/src/main/resources/static/linfeng-community-vue/src/views/common/home.vue +++ b/src/main/resources/static/linfeng-community-vue/src/views/common/home.vue @@ -2,12 +2,12 @@

数据概览

-

+ - +

diff --git a/src/main/resources/static/linfeng-community-vue/src/views/modules/admin/user.vue b/src/main/resources/static/linfeng-community-vue/src/views/modules/admin/user.vue index 8f8da8f..e94e5ab 100644 --- a/src/main/resources/static/linfeng-community-vue/src/views/modules/admin/user.vue +++ b/src/main/resources/static/linfeng-community-vue/src/views/modules/admin/user.vue @@ -163,7 +163,7 @@ 修改 禁用 解禁 - 删除 +