Просмотр исходного кода

修复 bug, 去掉【跳转描述】字段;【URL】字段及及提示文案改成“跳转链接”

weiximei 6 лет назад
Родитель
Сommit
2d4a57a25f

+ 5
- 4
CODE/smart-community/operate-api/src/main/java/com/community/huiju/controller/BannerController.java Просмотреть файл

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
16 16
 
17 17
 import javax.servlet.http.HttpSession;
18 18
 import javax.validation.Valid;
19
+import java.util.List;
19 20
 
20 21
 /**
21 22
  * @author weiximei
@@ -107,12 +108,12 @@ public class BannerController {
107 108
 
108 109
     @ApiOperation(value = "删除banner",notes = "根据bannerId删除banner")
109 110
     @ApiImplicitParams({
110
-            @ApiImplicitParam(paramType = "path",dataType = "Integer",name = "bannerId",value = "banner的id")
111
+            @ApiImplicitParam(paramType = "body",dataType = "List<Integer>",name = "list",value = "banner的id")
111 112
     })
112
-    @RequestMapping(value = "/banner/{bannerId}",method = RequestMethod.DELETE)
113
-    public ResponseBean deleteBanner(@PathVariable(value = "bannerId") Integer bannerId){
113
+    @RequestMapping(value = "/banner",method = RequestMethod.DELETE)
114
+    public ResponseBean deleteBanner(@RequestBody List<Integer> list){
114 115
         ResponseBean response = new ResponseBean();
115
-        response = iToBannerService.deleteBanner(bannerId);
116
+        response = iToBannerService.deleteBanner(list);
116 117
         return response;
117 118
     }
118 119
 

+ 7
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/dao/ToBannerMapper.java Просмотреть файл

@@ -34,4 +34,11 @@ public interface ToBannerMapper {
34 34
      */
35 35
     List<ToBanner> selectBanner(ToBanner toBanner);
36 36
 
37
+    /**
38
+     * 批量删除
39
+     * @param list
40
+     * @return
41
+     */
42
+    int deleteBanchBanner(List<Integer> list);
43
+
37 44
 }

+ 1
- 1
CODE/smart-community/operate-api/src/main/java/com/community/huiju/model/ToBanner.java Просмотреть файл

@@ -14,7 +14,7 @@ public class ToBanner {
14 14
     @Min(value = 0,message = "小区不能为空!")
15 15
     private Integer communityId;
16 16
 
17
-    @NotBlank(message = "跳转描述不能为空!")
17
+    // @NotBlank(message = "跳转描述不能为空!")
18 18
     private String bannerDescription;
19 19
 
20 20
     private Integer sort;

+ 9
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/IToBannerService.java Просмотреть файл

@@ -3,6 +3,8 @@ package com.community.huiju.service;
3 3
 import com.community.commom.mode.ResponseBean;
4 4
 import com.community.huiju.model.ToBanner;
5 5
 
6
+import java.util.List;
7
+
6 8
 /**
7 9
  * banner 业务管理
8 10
  * @author weiximei
@@ -54,4 +56,11 @@ public interface IToBannerService {
54 56
      */
55 57
     ResponseBean deleteBanner(Integer bannerId);
56 58
 
59
+    /**
60
+     * 根据bannerId 删除 banner
61
+     * @param listBannerId
62
+     * @return
63
+     */
64
+    ResponseBean deleteBanner(List<Integer> listBannerId);
65
+
57 66
 }

+ 21
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/ToBannerServiceImpl.java Просмотреть файл

@@ -107,6 +107,10 @@ public class ToBannerServiceImpl implements IToBannerService {
107 107
     public ResponseBean modifyBanner(ToBanner banner,Integer currentUserId) {
108 108
         ResponseBean response = new ResponseBean();
109 109
         if (Constant.BANNER_TYPE_ARTICLE.equals(banner.getBannerType())) {
110
+            if (StringUtils.isBlank(banner.getBannerTitle())) {
111
+                response.addError("Banner标题不能为空");
112
+                return response;
113
+            }
110 114
             if (StringUtils.isBlank(banner.getBannerContent())) {
111 115
                 response.addError("Banner内容不能为空");
112 116
                 return response;
@@ -195,4 +199,21 @@ public class ToBannerServiceImpl implements IToBannerService {
195 199
 
196 200
         return response;
197 201
     }
202
+
203
+    @Override
204
+    @Transactional(rollbackFor = Exception.class)
205
+    public ResponseBean deleteBanner(List<Integer> listBannerId) {
206
+        ResponseBean responseBean = new ResponseBean();
207
+        if (listBannerId.isEmpty() || listBannerId.size() == 0) {
208
+            responseBean.addError("请选择需要删除的数据!");
209
+            return responseBean;
210
+        }
211
+        int rows = toBannerMapper.deleteBanchBanner(listBannerId);
212
+        if (rows > 0) {
213
+            responseBean.addSuccess("操作成功!");
214
+            return responseBean;
215
+        }
216
+        responseBean.addError("操作失败!");
217
+        return responseBean;
218
+    }
198 219
 }

+ 8
- 0
CODE/smart-community/operate-api/src/main/resources/mapper/ToBannerMapper.xml Просмотреть файл

@@ -281,4 +281,12 @@
281 281
     </trim>
282 282
     order by create_date DESC
283 283
   </select>
284
+
285
+  <delete id="deleteBanchBanner" parameterType="list">
286
+    delete from to_banner
287
+    where id in
288
+    <foreach collection="list" item="item" separator="," index="index" open="(" close=")">
289
+      #{item,jdbcType=INTEGER}
290
+    </foreach>
291
+  </delete>
284 292
 </mapper>

+ 4
- 3
VUECODE/smart-operate-manage/src/api/banner.js Просмотреть файл

@@ -27,11 +27,12 @@ export function updateBanner(banner) {
27 27
   })
28 28
 }
29 29
 
30
-// 删除 banner
30
+// 删除 banner, 批量[10,25,65]
31 31
 export function deleteBanner(bannerId) {
32 32
   return request({
33
-    url: '/banner/' + bannerId,
34
-    method: 'delete'
33
+    url: '/banner',
34
+    method: 'delete',
35
+    data: bannerId
35 36
   })
36 37
 }
37 38
 

+ 6
- 8
VUECODE/smart-operate-manage/src/views/banner/addBanner/index.vue Просмотреть файл

@@ -41,19 +41,19 @@
41 41
           <!-- <el-option label="区域一" value="shanghai"/> -->
42 42
         </el-select>
43 43
       </el-form-item>
44
-      <el-form-item :label-width="formLabelWidth" label="跳转描述">
44
+      <!-- <el-form-item :label-width="formLabelWidth" label="跳转描述">
45 45
         <el-input
46 46
           v-model="addForm.bannerDescription"
47 47
           :autosize="{ minRows: 2, maxRows: 4}"
48 48
           type="textarea"
49 49
           placeholder="请输入跳转描述"/>
50
-      </el-form-item>
50
+      </el-form-item> -->
51 51
       <el-form-item :label-width="formLabelWidth" label="banner跳转">
52 52
         <el-radio v-model="addForm.bannerType" label="1" @change="showContent">外部超链接</el-radio>
53 53
         <el-radio v-model="addForm.bannerType" label="2" @change="showContent">自写文章</el-radio>
54 54
       </el-form-item>
55
-      <el-form-item v-if="showURLVisible" :label-width="formLabelWidth" label="URL">
56
-        <el-input v-model="addForm.externalLink" placeholder="URL"/>
55
+      <el-form-item v-if="showURLVisible" :label-width="formLabelWidth" label="跳转链接">
56
+        <el-input v-model="addForm.externalLink" placeholder="跳转链接"/>
57 57
       </el-form-item>
58 58
       <div v-if="showContentVisible">
59 59
         <el-form-item :label-width="formLabelWidth" label="内容标题">
@@ -201,15 +201,13 @@ export default {
201 201
         if (valid) {
202 202
           this.$store.dispatch('AddBanner', this.addForm).then((res) => {
203 203
             if (res.code === '0') {
204
-              this.$notify({
205
-                title: '操作成功!',
204
+              this.$message({
206 205
                 message: res.message,
207 206
                 type: 'success'
208 207
               })
209 208
               this.$router.push({ name: 'banner-index', params: { listQuery: this.listQuery }})
210 209
             } else {
211
-              this.$notify({
212
-                title: '操作失败',
210
+              this.$message({
213 211
                 message: res.message,
214 212
                 type: 'warning'
215 213
               })

+ 2
- 4
VUECODE/smart-operate-manage/src/views/banner/ediBanner/index.vue Просмотреть файл

@@ -206,15 +206,13 @@ export default {
206 206
         if (valid) {
207 207
           this.$store.dispatch('UpdateBanner', this.form).then((res) => {
208 208
             if (res.code === '0') {
209
-              this.$notify({
210
-                title: '操作成功!',
209
+              this.$message({
211 210
                 message: res.message,
212 211
                 type: 'success'
213 212
               })
214 213
               this.$router.push({ name: 'banner-index', params: { listQuery: this.listQuery }})
215 214
             } else {
216
-              this.$notify({
217
-                title: '操作失败',
215
+              this.$message({
218 216
                 message: res.message,
219 217
                 type: 'warning'
220 218
               })

+ 36
- 25
VUECODE/smart-operate-manage/src/views/banner/index.vue Просмотреть файл

@@ -19,6 +19,7 @@
19 19
 
20 20
     <el-row style="margin-top: 20px; margin-bottom: 20px;">
21 21
       <el-button type="primary" icon="el-icon-circle-plus" @click="dialogAddForm">添加</el-button>
22
+      <el-button type="danger" icon="el-icon-delete" @click="deleteBanner">删除</el-button>
22 23
       <!-- <el-button type="primary" icon="el-icon-edit">设置轮播数</el-button> -->
23 24
     </el-row>
24 25
 
@@ -31,14 +32,14 @@
31 32
       highlight-current-row
32 33
       style="width: 100%; margin-top: 20px;"
33 34
       @selection-change="handleSelectionChange">
34
-      <el-table-column label="选择" type="selection" sortable="custom" align="center" width="50">
35
+      <el-table-column label="选择" type="selection" sortable="custom" align="center" >
35 36
       </el-table-column>
36
-      <el-table-column label="编号" width="150px" align="center">
37
+      <el-table-column label="编号" align="center" min-width="30px">
37 38
         <template slot-scope="scope">
38 39
           <span>{{ scope.row.id }}</span>
39 40
         </template>
40 41
       </el-table-column>
41
-      <el-table-column label="标题" align="center">
42
+      <el-table-column label="标题" align="center" min-width="250px">
42 43
         <template slot-scope="scope">
43 44
           <!-- <span class="link-type" @click="handleUpdate(scope.row)">{{ scope.row.title }}</span> -->
44 45
           <el-tag>{{ scope.row.title }}</el-tag>
@@ -79,10 +80,9 @@
79 80
           <span>{{ scope.row.updateUserName }}</span>
80 81
         </template>
81 82
       </el-table-column>
82
-      <el-table-column label="操作" class-name="status-col" width="300" align="center">
83
+      <el-table-column label="操作" class-name="status-col" align="center">
83 84
         <template slot-scope="scope">
84 85
           <el-button type="primary" icon="el-icon-edit" @click="updateBanner(scope.row.id)">修改</el-button>
85
-          <el-button type="danger" icon="el-icon-delete" @click="deleteBanner(scope.row.id)">删除</el-button>
86 86
         </template>
87 87
       </el-table-column>
88 88
     </el-table>
@@ -165,7 +165,8 @@ export default {
165 165
       bannerPositionArr: [
166 166
         { id: 1, value: '首页banner' },
167 167
         { id: 2, value: '服务banner' }
168
-      ]
168
+      ],
169
+      deleteBannerId: []
169 170
     }
170 171
   },
171 172
   computed: {
@@ -187,29 +188,35 @@ export default {
187 188
       'CreateCommunity',
188 189
       'UpdateCommunity'
189 190
     ]),
190
-    deleteBanner(bannerId) {
191
+    deleteBanner() {
191 192
       this.$confirm('您确定删除此banner吗?', '提示', {
192 193
         confirmButtonText: '确定',
193 194
         cancelButtonText: '取消',
194 195
         type: 'warning'
195 196
       }).then(() => {
196
-        this.$store.dispatch('DeleteBanner', bannerId).then((res) => {
197
-          console.log('删除操作: ' + res.code)
198
-          if (res.code === '0') {
199
-            this.$notify({
200
-              title: '操作成功!',
201
-              message: res.message,
202
-              type: 'success'
203
-            })
204
-            this.getList()
205
-          } else {
206
-            this.$notify({
207
-              title: '操作失败',
208
-              message: res.message,
209
-              type: 'warning'
210
-            })
211
-          }
212
-        })
197
+        console.log(this.deleteBannerId)
198
+        if (this.deleteBannerId.length === 0) {
199
+          this.$message({
200
+            message: '请选择需要删除的数据!',
201
+            type: 'warning'
202
+          })
203
+        } else {
204
+          this.$store.dispatch('DeleteBanner', this.deleteBannerId).then((res) => {
205
+            if (res.code === '0') {
206
+              this.$message({
207
+                message: res.message,
208
+                type: 'success'
209
+              })
210
+              this.deleteBannerId = []
211
+              this.getList()
212
+            } else {
213
+              this.$message({
214
+                message: res.message,
215
+                type: 'warning'
216
+              })
217
+            }
218
+          })
219
+        }
213 220
       }).catch(() => {
214 221
         this.$message({
215 222
           type: 'info',
@@ -284,7 +291,11 @@ export default {
284 291
       row.status = status
285 292
     },
286 293
     handleSelectionChange(data) {
287
-      console.log('多选框 :', data)
294
+      this.deleteBannerId = []
295
+      const bannerIdArr = this.deleteBannerId
296
+      for (const i in data) {
297
+        bannerIdArr.push(data[i].id)
298
+      }
288 299
     },
289 300
     handleSearch() {
290 301
       this.getList()