AuditController.java 15.5 KB
Newer Older
wzp's avatar
wzp committed
1 2
package cn.wisenergy.chnmuseum.party.web.controller;

wzp's avatar
wzp committed
3
import cn.wisenergy.chnmuseum.party.common.enums.AuditOperationEnum;
wzp's avatar
wzp committed
4
import cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum;
wzp's avatar
wzp committed
5
import cn.wisenergy.chnmuseum.party.common.enums.AuditTypeEnum;
wzp's avatar
wzp committed
6 7 8
import cn.wisenergy.chnmuseum.party.common.log.MethodLog;
import cn.wisenergy.chnmuseum.party.common.log.OperModule;
import cn.wisenergy.chnmuseum.party.common.log.OperType;
wzp's avatar
wzp committed
9
import cn.wisenergy.chnmuseum.party.common.validator.groups.Update;
10
import cn.wisenergy.chnmuseum.party.common.vo.AuditStatusParam;
liqin's avatar
liqin committed
11
import cn.wisenergy.chnmuseum.party.model.Audit;
wzp's avatar
wzp committed
12
import cn.wisenergy.chnmuseum.party.model.TUser;
wzp's avatar
wzp committed
13
import cn.wisenergy.chnmuseum.party.service.impl.AuditServiceImpl;
liqin's avatar
liqin committed
14 15 16
import cn.wisenergy.chnmuseum.party.service.impl.TUserServiceImpl;
import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
wzp's avatar
wzp committed
17 18 19 20 21 22
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
wzp's avatar
wzp committed
23
import org.apache.shiro.authz.annotation.RequiresAuthentication;
wzp's avatar
wzp committed
24 25 26 27 28
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
29
import javax.validation.constraints.NotBlank;
wzp's avatar
wzp committed
30
import java.time.LocalDateTime;
wzp's avatar
wzp committed
31
import java.util.HashMap;
wzp's avatar
wzp committed
32 33 34 35 36 37 38 39 40 41 42 43 44 45
import java.util.Map;

/**
 * <pre>
 * 禁用审核 前端控制器
 * </pre>
 *
 * @author Danny Lee
 * @since 2021-03-26
 */
@Slf4j
@RestController
@RequestMapping("/audit")
@Api(tags = {"审核管理操作接口"})
46
@Validated
wzp's avatar
wzp committed
47 48 49
public class AuditController extends BaseController {

    @Resource
wzp's avatar
wzp committed
50
    private AuditServiceImpl auditService;
wzp's avatar
wzp committed
51 52 53 54 55

    @Resource
    private TUserServiceImpl userService;

    @GetMapping("/getUserList")
wzp's avatar
wzp committed
56
    @RequiresAuthentication  //@RequiresPermissions("/audit/getUserList")
wzp's avatar
wzp committed
57 58
    @ApiOperation(value = "获取用户禁用审核列表", notes = "获取用户禁用审核列表")
    @ApiImplicitParams(value = {
wzp's avatar
wzp committed
59 60
            @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
            @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
wzp's avatar
wzp committed
61
            @ApiImplicitParam(name = "name", value = "账号名称或提交人", paramType = "query", dataType = "String"),
wzp's avatar
wzp committed
62
            @ApiImplicitParam(name = "name", value = "账号名称或提交人", paramType = "query", dataType = "String"),
wzp's avatar
wzp committed
63 64
            @ApiImplicitParam(name = "status", value = "TBC,REFUSED,TBCA,APPROVED_FINAL", paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "level", value = "TBC,TBCA", paramType = "query", dataType = "String")
wzp's avatar
wzp committed
65
    })
wzp's avatar
wzp committed
66
    @MethodLog(operModule = OperModule.RECHECK,operType = OperType.SELECT)
wzp's avatar
wzp committed
67
    public Map<String, Object> getUserList(String name, String status, String level) {
liqin's avatar
liqin committed
68
        Page<Audit> auditList;
wzp's avatar
wzp committed
69
        try {
wzp's avatar
wzp committed
70
            TUser user1 = getcurUser();
wzp's avatar
wzp committed
71 72 73 74 75 76 77 78 79 80
            TUser user = new TUser();
            if (StringUtils.isNotBlank(name)) {
                user.setUserName(name);
            }
            if (StringUtils.isNotBlank(status)) {
                user.setStatus(status);
            }
            if (StringUtils.isNotBlank(level)) {
                user.setAuditStatus(level);
            }
wzp's avatar
wzp committed
81
            //如果是账号禁用初审员,设置层级为初审
wzp's avatar
wzp committed
82 83 84 85 86 87 88 89
//            if (user1.getRoleList().contains("15")) {
//                user.setAuditStatus(AuditStatusEnum.TBC.name());
//            } else if (user1.getRoleList().contains("16")) {
//                user.setAuditStatus(AuditStatusEnum.TBCA.name());
//            } else {
//                //不存在的层级
//                user.setAuditStatus("1");
//            }
wzp's avatar
wzp committed
90
            auditList = auditService.getUserList(getPage(), user);
wzp's avatar
wzp committed
91 92 93 94 95 96 97 98
            return getResult(auditList);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return getFailResult();
    }

    @PutMapping("/update")
wzp's avatar
wzp committed
99
    @RequiresAuthentication  //@RequiresPermissions("/audit/update")
wzp's avatar
wzp committed
100
    @ApiOperation(value = "修改禁用审核信息", notes = "修改禁用审核信息")
wzp's avatar
wzp committed
101
    @MethodLog(operModule = OperModule.RECHECK,operType = OperType.AUDIT)
102
    public Map<String, Object> updateAudit(@RequestBody @Validated(value = {Update.class}) Audit audit) {
liqin's avatar
liqin committed
103
        boolean flag;
wzp's avatar
wzp committed
104
        //如果层级是初审,设置初审时间
wzp's avatar
wzp committed
105 106
        if (AuditStatusEnum.TBC.name().equals(audit.getLevel())) {
            audit.setFirstTime(LocalDateTime.now());
wzp's avatar
wzp committed
107
            //如果审核状态不是驳回,清空驳回原因
wzp's avatar
wzp committed
108 109 110
            if (!AuditStatusEnum.REFUSED.name().equals(audit.getStatus())) {
                audit.setFirstRemarks("");
            }
111
        } else {
wzp's avatar
wzp committed
112
            //如果层级是复审,设置复审时间
wzp's avatar
wzp committed
113
            audit.setSecondTime(LocalDateTime.now());
wzp's avatar
wzp committed
114
            //如果审核状态不是驳回,清空驳回原因
wzp's avatar
wzp committed
115
            if (!AuditStatusEnum.REFUSED.name().equals(audit.getStatus())) {
wzp's avatar
wzp committed
116
                audit.setSecondRemarks("");
wzp's avatar
wzp committed
117
            }
wzp's avatar
wzp committed
118
        }
wzp's avatar
wzp committed
119 120 121 122 123 124
        //如果当前审核状态为通过,并且审核层级为初审
        if (AuditStatusEnum.APPROVED_FINAL.name().equals(audit.getStatus()) && AuditStatusEnum.TBC.name().equals(audit.getLevel())) {
            //初审通过,提交复审,设置层级为复审
            audit.setLevel(AuditStatusEnum.TBCA.name());
            audit.setStatus(AuditStatusEnum.TBCA.name());
        }
wzp's avatar
wzp committed
125
        try {
wzp's avatar
wzp committed
126
            //如果类型是用户禁用审核
wzp's avatar
wzp committed
127
            if (AuditTypeEnum.ACCOUNT.name().equals(audit.getType())) {
wzp's avatar
wzp committed
128
                //设置用户原始数据状态
wzp's avatar
wzp committed
129
                TUser user = userService.getById(audit.getRefItemId());
wzp's avatar
wzp committed
130
                //无论初审复审,及时更新审核状态
wzp's avatar
wzp committed
131
                user.setAuditStatus(audit.getStatus());
wzp's avatar
wzp committed
132
                //如果复审通过,真正禁用用户
133
                if (AuditStatusEnum.APPROVED_FINAL.name().equals(audit.getStatus()) && AuditStatusEnum.TBCA.name().equals(audit.getLevel())) {
wzp's avatar
wzp committed
134 135 136 137
                    user.setStatus(AuditOperationEnum.DISABLE.name());
                }
                userService.updateById(user);
            }
wzp's avatar
wzp committed
138
            //更新审核数据
wzp's avatar
wzp committed
139 140 141 142 143 144 145 146
            flag = auditService.updateById(audit);
            if (!flag) {
                return getFailResult();
            }
            return getSuccessResult();
        } catch (Exception e) {
            e.printStackTrace();
        }
wzp's avatar
wzp committed
147 148 149
        return getFailResult();
    }

150
    @DeleteMapping("/delete/{id}")
wzp's avatar
wzp committed
151
    @RequiresAuthentication  //@RequiresPermissions("/audit/delete")
wzp's avatar
wzp committed
152 153 154 155 156 157 158 159 160 161 162 163
    @ApiOperation(value = "根据ID删除禁用审核", notes = "根据ID删除禁用审核")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String")
    })
    public Map<String, Object> deleteAudit(@PathVariable("id") String id) {
        boolean result = auditService.removeById(id);
        if (result) {
            return getSuccessResult();
        }
        return getFailResult();
    }

wzp's avatar
wzp committed
164
//    @GetMapping("/getList")
wzp's avatar
wzp committed
165
//    @RequiresAuthentication  //@RequiresPermissions("/audit/getList")
wzp's avatar
wzp committed
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
//    @ApiOperation(value = "获取禁用审核全部列表(无分页)", notes = "获取禁用审核全部列表(无分页)")
//    @ApiImplicitParams(value = {
//            @ApiImplicitParam(name = "auditStatus", value = "审核状态", paramType = "query", dataType = "String")
//    })
//    public Map<String, Object> getAuditList(@RequestParam(value = "auditStatus", defaultValue = "APPROVED_FINAL", required = false) AuditStatusEnum auditStatus) {
//        List<Audit> auditList = auditService.list();
//        return getResult(auditList);
//    }
//
//    @ApiImplicitParams(value = {
//            @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
//            @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
//            @ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String"),
//            @ApiImplicitParam(name = "startDate", value = "创建时间-开始", paramType = "query", dataType = "String"),
//            @ApiImplicitParam(name = "endDate", value = "创建时间-结束", paramType = "query", dataType = "String")
//    })
//    @PostMapping("/getPageList")
wzp's avatar
wzp committed
183
//    @RequiresAuthentication  //@RequiresPermissions("/audit/getPageList")
wzp's avatar
wzp committed
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
//    @ApiOperation(value = "获取禁用审核分页列表", notes = "获取禁用审核分页列表")
//    public Map<String, Object> getAuditPageList(GenericPageParam genericPageParam) {
//        LambdaQueryWrapper<Audit> queryWrapper = new LambdaQueryWrapper<>();
//        // 对名称或编码模糊查询
//        if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) {
//            queryWrapper.like(Audit::getContent, genericPageParam.getNameOrCode());
//        }
//        // 根据创建时间区间检索
//        if (genericPageParam.getStartDate() != null && genericPageParam.getEndDate() != null) {
//            queryWrapper.ge(Audit::getCreateTime, genericPageParam.getStartDate().atTime(0, 0, 0))
//                    .le(Audit::getCreateTime, genericPageParam.getEndDate().atTime(23, 59, 59));
//        }
//        // 设置排序规则
//        queryWrapper.orderByDesc(Audit::getCreateTime);
//        // 设置查询内容
//        queryWrapper.select(
//                Audit::getId,
//                Audit::getContent,
//                Audit::getCreateTime);
//        Page<Audit> page = this.auditService.page(getPage(), queryWrapper);
//        return getResult(page);
//    }
wzp's avatar
wzp committed
206 207 208

    @ApiOperation(value = "获取禁用审核详情", notes = "获取禁用审核详情")
    @GetMapping("/getById")
wzp's avatar
wzp committed
209
    @RequiresAuthentication  //@RequiresPermissions("/audit/getById")
wzp's avatar
wzp committed
210 211 212 213
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "id", paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "type", value = "视频内容:VIDEO_CONTENT,展板内容:EXHIBITION_BOARD,学习内容:LEARNING_CONTENT", paramType = "query", dataType = "String", allowableValues = "VIDEO_CONTENT,EXHIBITION_BOARD,LEARNING_CONTENT,ACCOUNT", required = true)
    })
wzp's avatar
wzp committed
214
    @MethodLog(operModule = OperModule.CHECKVIDEO,operType = OperType.DETAILS)
wzp's avatar
wzp committed
215
    public Map<String, Object> getById(String id, String type) {
wzp's avatar
wzp committed
216 217
        HashMap<String, Object> resultMap = new HashMap<>();
        try {
wzp's avatar
wzp committed
218
            Audit audit = null;
wzp's avatar
wzp committed
219
            //只获取最新的一条审核数据
liqin's avatar
liqin committed
220
            audit = auditService.selectOne(id, type);
wzp's avatar
wzp committed
221 222
            resultMap.put("resultCode", "200");
            resultMap.put("message", "操作成功");
wzp's avatar
wzp committed
223 224 225 226 227 228
            resultMap.put("data", audit);
            return resultMap;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return getFailResult();
wzp's avatar
wzp committed
229 230
    }

231 232 233 234 235 236
    @GetMapping("/getPageAllList")
    @ApiOperation(value = "审核管理=========分页查询", notes = "审核管理=========分页查询")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
            @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
            @ApiImplicitParam(name = "name", value = "账号名称或提交人", paramType = "query", dataType = "String"),
237
            @ApiImplicitParam(name = "status", value = "待初审:TBC, 驳回:REFUSED,待复审:TBCA, 通过:APPROVED_FINAL", paramType = "query", dataType = "String"),
liqin's avatar
liqin committed
238
            @ApiImplicitParam(name = "type", value = "视频内容:VIDEO_CONTENT,展板内容:EXHIBITION_BOARD,学习内容:LEARNING_CONTENT", paramType = "query", dataType = "String", allowableValues = "VIDEO_CONTENT,EXHIBITION_BOARD,LEARNING_CONTENT,ACCOUNT", required = true)
239
    })
wzp's avatar
wzp committed
240
    @MethodLog(operModule = OperModule.CHECKVIDEO,operType = OperType.SELECT)
liqin's avatar
liqin committed
241
    public Map<String, Object> getPageAllList(String name, String status, @NotBlank(message = "type参数不能为空") String type) {
242
        AuditStatusEnum auditStatus = null;
wzp's avatar
wzp committed
243
        AuditStatusEnum auditStatusLevel = null;
244
        AuditTypeEnum auditTypeEnum = AuditTypeEnum.valueOf(type);
wzp's avatar
wzp committed
245
//数据权限,暂时注释
wzp's avatar
wzp committed
246 247 248 249 250
//        TUser user = getcurUser();
//        switch (auditTypeEnum){
//            case ASSET:
//                if (user.getRoleList().contains("9")){
//                    auditStatusLevel=AuditStatusEnum.TBC;
wzp's avatar
wzp committed
251
//                }else if(user.getRoleList().contains("10")) {
wzp's avatar
wzp committed
252
//                    auditStatusLevel=AuditStatusEnum.TBCA;
wzp's avatar
wzp committed
253 254
//                }else {
//                    auditStatusLevel=AuditStatusEnum.APPROVED_FINAL;
wzp's avatar
wzp committed
255 256 257 258 259
//                }
//                break;
//            case EXHIBITION_BOARD:
//                if (user.getRoleList().contains("11")){
//                    auditStatusLevel=AuditStatusEnum.TBC;
wzp's avatar
wzp committed
260
//                }else if(user.getRoleList().contains("12")) {
wzp's avatar
wzp committed
261
//                    auditStatusLevel=AuditStatusEnum.TBCA;
wzp's avatar
wzp committed
262 263
//                }else {
//                    auditStatusLevel=AuditStatusEnum.APPROVED_FINAL;
wzp's avatar
wzp committed
264 265 266 267 268
//                }
//                break;
//            case LEARNING_CONTENT:
//                if (user.getRoleList().contains("13")){
//                    auditStatusLevel=AuditStatusEnum.TBC;
wzp's avatar
wzp committed
269
//                }else if(user.getRoleList().contains("14")) {
wzp's avatar
wzp committed
270
//                    auditStatusLevel=AuditStatusEnum.TBCA;
wzp's avatar
wzp committed
271 272
//                }else {
//                    auditStatusLevel=AuditStatusEnum.APPROVED_FINAL;
wzp's avatar
wzp committed
273 274 275 276 277
//                }
//                break;
//
//        }
        if (auditTypeEnum == null) {
wzp's avatar
wzp committed
278
            return getFailResult("type参数不正确");
279 280
        }
        if (StringUtils.isNotBlank(status)) {
281
            auditStatus = AuditStatusEnum.valueOf(status);
282 283 284
        }
        //
        try {
liqin's avatar
liqin committed
285
            Page<Audit> auditList = auditService.pageList(name, auditStatus, auditStatusLevel, auditTypeEnum, getPage());
286
            return getResult(auditList);
liqin's avatar
liqin committed
287
        } catch (Exception e) {
288 289 290 291 292
            e.printStackTrace();
        }
        return getFailResult();
    }

293
    @PutMapping("/updateAuditAllById")
wzp's avatar
wzp committed
294
    @RequiresAuthentication  //@RequiresPermissions("/audit/update")
295
    @ApiOperation(value = "审核管理===根据id修改审核信息", notes = "审核管理===根据id修改审核信息")
wzp's avatar
wzp committed
296
    @MethodLog(operModule = OperModule.CHECKVIDEO,operType = OperType.AUDIT)
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
    public Map<String, Object> updateAuditAllById(@RequestBody @Validated AuditStatusParam auditStatusParam) {

        String id = auditStatusParam.getId();
        Audit audit = auditService.getById(id);
        if (audit == null) {
            return getFailResult("id参数有误");
        }
        //设置修改的审核状态
        audit.setStatus(auditStatusParam.getStatus());
        //为啥数据库有null值
        if (StringUtils.isBlank(audit.getLevel())) {
            audit.setLevel(AuditStatusEnum.TBC.name());
        }
        //初审
        if (AuditStatusEnum.TBC.name().equals(audit.getLevel())) {
            audit.setFirstRemarks(auditStatusParam.getRemarks());
        }
        //复审
        if (AuditStatusEnum.TBCA.name().equals(audit.getLevel())) {
            audit.setSecondRemarks(auditStatusParam.getRemarks());
        }
318 319 320 321 322 323 324

        boolean update = auditService.updateAuditAllById(audit);

        return update ? getSuccessResult() : getFailResult();
    }


wzp's avatar
wzp committed
325 326
}