shikeyin
2024-01-11 65da8373531677b1c37a98f53eaa30c892f35e5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package com.ishop.merchant.platform;
 
import com.iplatform.base.Constants;
import com.ishop.merchant.BaseController;
import com.ishop.merchant.util.VoUtils;
import com.ishop.model.po.EbArticleCategory;
import com.ishop.model.vo.ArticleCategoryVo;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.NumberGenerator;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.ArrayList;
import java.util.List;
 
@RestController
@RequestMapping("/platform/article/category")
public class ArticleCategoryController extends BaseController {
 
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public ResponseValue list(){
        GenericPager<EbArticleCategory> pager = this.getArticleService().queryPageCategoryList();
        List<EbArticleCategory> list = pager.getDatas();
        if(StringUtils.isEmptyList(list)){
            return ResponseValue.success(pager);
        }
        String cdnUrl = this.getCdnUrl();
        List<ArticleCategoryVo> voList = new ArrayList<>(list.size());
        for(EbArticleCategory e : list){
            voList.add(VoUtils.acquireArticleCategoryVo(e, cdnUrl));
        }
//        return ResponseValue.success(ListPageContext.createGenericPager(voList, pager.getPageIndex(), pager.getPageSize(), (int)pager.getTotalRows()));
        return ResponseValue.success(voList);
    }
 
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public ResponseValue addCategory(@RequestBody EbArticleCategory request){
        if(request == null){
            return ResponseValue.error(Constants.ERROR_ARGUMENT);
        }
        if(StringUtils.isEmpty(request.getName())){
            return ResponseValue.error("请输入文章分类名称");
        }
        request.setIsDel(0);
        request.setStatus(1);
        if(StringUtils.isNotEmpty(request.getIcon())){
            request.setIcon(this.clearCdnPrefix(request.getIcon()));
        }
        request.setId(NumberGenerator.getLongSequenceNumber());
        request.setCreateTime(DateUtils.getDateTimeNumber());
        request.setUpdateTime(request.getCreateTime());
        this.getArticleService().insert(request);
        this.getArticleCategoryCache().save(VoUtils.acquireArticleCategoryVo(request, this.getCdnUrl()));
        return ResponseValue.success();
    }
 
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    public ResponseValue removeCategory(Long id){
        if(id == null || id <= 0){
            return ResponseValue.error("请输入文章分类");
        }
        if(this.getArticleService().queryCategoryUsed(id)){
            return ResponseValue.error("分类正在使用,无法删除");
        }
        this.getArticleService().delete(new EbArticleCategory(id));
        this.getArticleCategoryCache().remove(id);
        return ResponseValue.success();
    }
 
    @RequestMapping(value = "/switch", method = RequestMethod.POST)
    public ResponseValue categorySwitch(Long id){
        if(id == null || id <= 0){
            return ResponseValue.error("请输入文章分类");
        }
        EbArticleCategory category = new EbArticleCategory();
        ArticleCategoryVo exist = this.getArticleCategoryCache().get(id);
        if(exist.getStatus()){
            category.setStatus(0);
            exist.setStatus(false);
        } else {
            category.setStatus(1);
            exist.setStatus(true);
        }
        category.setId(id);
 
        this.getArticleService().update(category);
        this.getArticleCategoryCache().update(exist);
        return ResponseValue.success();
    }
}