Commit 426571d5 authored by Junling Bu's avatar Junling Bu
Browse files

重构:管理后台不支持管理员对商品评论进行create和update操作

parent 1cb9d20e
......@@ -47,39 +47,6 @@ public class AdminCommentController {
return ResponseUtil.ok(data);
}
@PostMapping("/create")
public Object create(@LoginAdmin Integer adminId, @RequestBody LitemallComment comment){
if(adminId == null){
return ResponseUtil.unlogin();
}
comment.setAddTime(LocalDateTime.now());
commentService.add(comment);
return ResponseUtil.ok(comment);
}
@GetMapping("/read")
public Object read(@LoginAdmin Integer adminId, @NotNull Integer id){
if(adminId == null){
return ResponseUtil.unlogin();
}
if(id == null){
return ResponseUtil.badArgument();
}
LitemallComment comment = commentService.findById(id);
return ResponseUtil.ok(comment);
}
@PostMapping("/update")
public Object update(@LoginAdmin Integer adminId, @RequestBody LitemallComment comment){
if(adminId == null){
return ResponseUtil.unlogin();
}
commentService.updateById(comment);
return ResponseUtil.ok(comment);
}
@PostMapping("/delete")
public Object delete(@LoginAdmin Integer adminId, @RequestBody LitemallComment comment){
if(adminId == null){
......
......@@ -8,30 +8,6 @@ export function listComment(query) {
})
}
export function createComment(data) {
return request({
url: '/comment/create',
method: 'post',
data
})
}
export function readComment(data) {
return request({
url: '/comment/read',
method: 'get',
data
})
}
export function updateComment(data) {
return request({
url: '/comment/update',
method: 'post',
data
})
}
export function deleteComment(data) {
return request({
url: '/comment/delete',
......
......@@ -8,7 +8,6 @@
<el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入商品ID" v-model="listQuery.valueId">
</el-input>
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">查找</el-button>
<el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">添加</el-button>
<el-button class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload" :loading="downloadLoading">导出</el-button>
</div>
......@@ -35,7 +34,7 @@
<el-table-column align="center" label="操作" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="handleReply(scope.row)">回复</el-button>
<el-button type="danger" size="mini" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
......@@ -48,67 +47,15 @@
</el-pagination>
</div>
<!-- 添加或修改对话框 -->
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
<el-form-item label="用户ID" prop="userId">
<el-input v-model="dataForm.userId"></el-input>
</el-form-item>
<el-form-item label="商品ID" prop="valueId">
<el-input v-model="dataForm.valueId"></el-input>
</el-form-item>
<el-form-item label="评论内容" prop="content">
<el-input v-model="dataForm.content" type="textarea" :rows="4"></el-input>
</el-form-item>
<el-form-item label="评论时间" prop="addTime">
<el-date-picker v-model="dataForm.addTime" type="date" placeholder="选择日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="评论图片" prop="picUrls">
<!-- <el-input v-model="dataForm.picUrls"></el-input> -->
<el-upload action="#" list-type="picture" :headers="headers" :show-file-list="false" :limit="5" :http-request="uploadPicUrls">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取消</el-button>
<el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
<el-button v-else type="primary" @click="updateData">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<style>
.demo-table-expand {
font-size: 0;
}
.demo-table-expand label {
width: 200px;
color: #99a9bf;
}
.demo-table-expand .el-form-item {
margin-right: 0;
margin-bottom: 0;
}
</style>
<script>
import { listComment, createComment, updateComment, deleteComment } from '@/api/comment'
import { createStorage } from '@/api/storage'
import { getToken } from '@/utils/auth'
import { listComment, deleteComment } from '@/api/comment'
import { MessageBox } from 'element-ui'
export default {
name: 'Comment',
computed: {
headers() {
return {
'Admin-Token': getToken()
}
}
},
data() {
return {
list: undefined,
......@@ -122,25 +69,6 @@ export default {
sort: 'add_time',
order: 'desc'
},
dataForm: {
id: undefined,
userId: undefined,
valueId: undefined,
content: undefined,
hasPicture: false,
picUrls: []
},
dialogFormVisible: false,
dialogStatus: '',
textMap: {
update: '编辑',
create: '创建'
},
rules: {
userId: [{ required: true, message: '用户ID不能为空', trigger: 'blur' }],
valueId: [{ required: true, message: '商品ID不能为空', trigger: 'blur' }],
content: [{ required: true, message: '评论不能为空', trigger: 'blur' }]
},
downloadLoading: false
}
},
......@@ -172,77 +100,10 @@ export default {
this.listQuery.page = val
this.getList()
},
resetForm() {
this.dataForm = {
id: undefined,
userId: undefined,
valueId: undefined,
content: undefined,
picUrls: []
}
},
handleCreate() {
this.resetForm()
this.dialogStatus = 'create'
this.dialogFormVisible = true
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
},
uploadPicUrls(item) {
const formData = new FormData()
formData.append('file', item.file)
createStorage(formData).then(res => {
this.dataForm.picUrls.push(res.data.data.url)
this.dataForm.hasPicture = true
}).catch(() => {
this.$message.error('上传失败,请重新上传')
})
},
createData() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
createComment(this.dataForm).then(response => {
this.list.unshift(response.data.data)
this.dialogFormVisible = false
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
})
})
}
})
},
handleUpdate(row) {
this.dataForm = Object.assign({}, row)
this.dialogStatus = 'update'
this.dialogFormVisible = true
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
},
updateData() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
updateComment(this.dataForm).then(() => {
for (const v of this.list) {
if (v.id === this.dataForm.id) {
const index = this.list.indexOf(v)
this.list.splice(index, 1, this.dataForm)
break
}
}
this.dialogFormVisible = false
this.$notify({
title: '成功',
message: '更新成功',
type: 'success',
duration: 2000
})
})
}
handleReply(row) {
MessageBox.alert('商品评论回复目前不支持', '失败', {
confirmButtonText: '确定',
type: 'error'
})
},
handleDelete(row) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment