master
Your Name 2 months ago
parent b7e0813151
commit 2a092cde01
  1. 10
      backend/src/main/java/com/teaching/backend/controller/cms/CmsEssayController.java
  2. 2
      backend/src/main/java/com/teaching/backend/service/cms/ICmsEssayService.java
  3. 21
      backend/src/main/java/com/teaching/backend/service/impl/cms/CmsEssayServiceImpl.java
  4. 4
      teaching_integration_platform_admin_template/.env.development
  5. 4
      teaching_integration_platform_admin_template/src/api/user/news.js
  6. 33
      teaching_integration_platform_admin_template/src/views/news/index.vue
  7. 4
      teaching_integration_platform_template/.env.development

@ -87,4 +87,14 @@ public class CmsEssayController {
public BaseResponse<String> editStatus(@RequestBody CmsEssay cmsEssay){ public BaseResponse<String> editStatus(@RequestBody CmsEssay cmsEssay){
return cmsEssayService.editStatus(cmsEssay); return cmsEssayService.editStatus(cmsEssay);
} }
/**
* 浏览量
* @param id
* @return
*/
@PutMapping("/views/{id}")
public BaseResponse<String> views(@PathVariable Integer id){
return cmsEssayService.views(id);
}
} }

@ -28,4 +28,6 @@ public interface ICmsEssayService extends IService<CmsEssay> {
BaseResponse<String> editStatus(CmsEssay cmsEssay); BaseResponse<String> editStatus(CmsEssay cmsEssay);
BaseResponse<CmsEssay> queryEssayById(Integer essayId); BaseResponse<CmsEssay> queryEssayById(Integer essayId);
BaseResponse<String> views(Integer id);
} }

@ -7,8 +7,10 @@ import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.mapper.cms.CmsEssayMapper; import com.teaching.backend.mapper.cms.CmsEssayMapper;
import com.teaching.backend.model.entity.cms.CmsEssay; import com.teaching.backend.model.entity.cms.CmsEssay;
import com.teaching.backend.service.cms.ICmsEssayService; import com.teaching.backend.service.cms.ICmsEssayService;
import com.teaching.backend.service.impl.umsAdmin.UmsUserServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.List; import java.util.List;
@ -23,6 +25,9 @@ import java.util.List;
@Service @Service
public class CmsEssayServiceImpl extends ServiceImpl<CmsEssayMapper, CmsEssay> implements ICmsEssayService { public class CmsEssayServiceImpl extends ServiceImpl<CmsEssayMapper, CmsEssay> implements ICmsEssayService {
@Resource
private UmsUserServiceImpl userService;
@Override @Override
public BaseResponse<String> addEssay(CmsEssay cmsEssay) { public BaseResponse<String> addEssay(CmsEssay cmsEssay) {
//设置文章发布时间 //设置文章发布时间
@ -30,9 +35,11 @@ public class CmsEssayServiceImpl extends ServiceImpl<CmsEssayMapper, CmsEssay> i
//设置发布人姓名 //设置发布人姓名
// String nickName = userService.getById(cmsEssay.getUserId()).getNickName(); // String nickName = userService.getById(cmsEssay.getUserId()).getNickName();
// cmsEssay.setUsername(nickName); // cmsEssay.setUsername(nickName);
//将浏览次数设置为0
cmsEssay.setReadingNumber(0);
//如果数据库里没有文章,文章id设为2 //如果数据库里没有文章,文章id设为2
Long count = query().count(); Long count = query().count();
if (count == 0){ if (count == 0) {
cmsEssay.setId(2); cmsEssay.setId(2);
} }
save(cmsEssay); save(cmsEssay);
@ -42,7 +49,7 @@ public class CmsEssayServiceImpl extends ServiceImpl<CmsEssayMapper, CmsEssay> i
@Override @Override
public BaseResponse<String> deleteEssay(List<Integer> ids) { public BaseResponse<String> deleteEssay(List<Integer> ids) {
//如果要删除的文章中包含id为1的文章(就是包含关于我们)就删除失败 //如果要删除的文章中包含id为1的文章(就是包含关于我们)就删除失败
if (ids.contains(1)){ if (ids.contains(1)) {
return ResultUtils.success("删除失败,不能删除关于我们!"); return ResultUtils.success("删除失败,不能删除关于我们!");
} }
removeByIds(ids); removeByIds(ids);
@ -54,10 +61,10 @@ public class CmsEssayServiceImpl extends ServiceImpl<CmsEssayMapper, CmsEssay> i
//获取要修改的文章id //获取要修改的文章id
Integer id = cmsEssay.getId(); Integer id = cmsEssay.getId();
//判断文章id是否为1 //判断文章id是否为1
if (id == 1){ if (id == 1) {
Long count = query().eq("id", id).count(); Long count = query().eq("id", id).count();
//如果数据库里没id为的文章就先新增 //如果数据库里没id为的文章就先新增
if (count == 0){ if (count == 0) {
save(cmsEssay); save(cmsEssay);
return ResultUtils.success("添加成功!"); return ResultUtils.success("添加成功!");
} }
@ -83,4 +90,10 @@ public class CmsEssayServiceImpl extends ServiceImpl<CmsEssayMapper, CmsEssay> i
public BaseResponse<CmsEssay> queryEssayById(Integer essayId) { public BaseResponse<CmsEssay> queryEssayById(Integer essayId) {
return ResultUtils.success(getById(essayId)); return ResultUtils.success(getById(essayId));
} }
@Override
public BaseResponse<String> views(Integer id) {
boolean update = update().setSql("reading_number = reading_number + 1 where id = " + id).update();
return update ? ResultUtils.success("浏览次数加1") : ResultUtils.success("error!!!");
}
} }

@ -1,6 +1,6 @@
# 变量必须以 VITE_ 为前缀才能暴露给外部读取 # 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'development' NODE_ENV = 'development'
VITE_APP_TITLE = '无糖运营平台' VITE_APP_TITLE = '无糖运营平台'
VITE_APP_BASE_API = 'http://127.0.0.1:8080' # VITE_APP_BASE_API = 'http://127.0.0.1:8080'
# VITE_APP_BASE_API = 'http://39.106.16.162:8080' VITE_APP_BASE_API = 'http://39.106.16.162:8080'

@ -54,3 +54,7 @@ export function editEssay(params) {
export function queryEssayById(essay_id) { export function queryEssayById(essay_id) {
return request.get(`/api/cms-essay/queryessaybyid?essay_id=${essay_id}`); return request.get(`/api/cms-essay/queryessaybyid?essay_id=${essay_id}`);
} }
//阅读量增加
export function viewsNumberAdd(id) {
return request.put(`/api/cms-essay/views/${id}`);
}

@ -16,7 +16,7 @@
<el-dropdown-menu> <el-dropdown-menu>
<ul> <ul>
<li class="flex-container" @click="newViews(listObject)" v-for="listObject in essay"> <li class="flex-container" @click="newViews(listObject)" v-for="listObject in essay">
<el-dropdown-item> <el-dropdown-item @click="incrementViewsAndShow(listObject)">
<el-tag type="info" size="large" style="height: 30px;font-size: 15px"> <el-tag type="info" size="large" style="height: 30px;font-size: 15px">
<p >{{listObject.title}}</p> <p >{{listObject.title}}</p>
</el-tag> </el-tag>
@ -61,6 +61,7 @@
import { import {
queryCategory, queryCategory,
queryEssay, queryEssay,
viewsNumberAdd
} from "@/api/user/news.js" } from "@/api/user/news.js"
import {ref,onMounted} from 'vue'; import {ref,onMounted} from 'vue';
import {ElMessage} from 'element-plus' import {ElMessage} from 'element-plus'
@ -88,12 +89,30 @@ onMounted(() => {
}) })
const essay = ref([]) const essay = ref([])
const nowTimeNewsData = ref({}) const nowTimeNewsData = ref({})
// //
const newViews = (listObject)=> { const newViews = (listObject)=> {
nowTimeNewsData.value = { ...listObject } nowTimeNewsData.value = { ...listObject }
console.log(nowTimeNewsData,'当前点击新闻详细内容') console.log(nowTimeNewsData,'当前点击新闻详细内容')
} }
//
let lastRequestTime = 0;
const incrementViewsAndShow = async (listObject) => {
const currentTime = Date.now();
//
if (currentTime - lastRequestTime < 1000) {
return;
}
try {
// API
await viewsNumberAdd(listObject.id);
lastRequestTime = currentTime; //
nowTimeNewsData.value = { ...listObject };
console.log(nowTimeNewsData.value, '当前点击新闻详细内容');
} catch (error) {
ElMessage.error('增加阅读量失败,请稍后再试!');
}
};
// //
const EssayList = async (id) => { const EssayList = async (id) => {
try { try {
@ -102,11 +121,11 @@ const EssayList = async (id) => {
const filteredEssays = response.data.filter((item) => item.status === 1); const filteredEssays = response.data.filter((item) => item.status === 1);
essay.value = filteredEssays; essay.value = filteredEssays;
// //
if (essay.value.length > 0) { // if (essay.value.length > 0) {
newViews(essay.value[0]); // // newViews(essay.value[0]); //
} else { // } else {
ElMessage.warning('此栏目下没有可用的新闻!'); // ElMessage.warning('');
} // }
} catch (error) { } catch (error) {
ElMessage.error('获取新闻列表失败,请稍后再试!'); ElMessage.error('获取新闻列表失败,请稍后再试!');
} }

@ -1,5 +1,5 @@
# 变量必须以 VITE_ 为前缀才能暴露给外部读取 # 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'development' NODE_ENV = 'development'
VITE_APP_TITLE = '教学一体化平台' VITE_APP_TITLE = '教学一体化平台'
VITE_APP_BASE_API = 'http://127.0.0.1:8080' # VITE_APP_BASE_API = 'http://127.0.0.1:8080'
# VITE_APP_BASE_API = 'http://39.106.16.162:8080' VITE_APP_BASE_API = 'http://39.106.16.162:8080'
Loading…
Cancel
Save