AuditController.java 15.1 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;
liqin's avatar
liqin committed
13 14
import cn.wisenergy.chnmuseum.party.service.AuditService;
import cn.wisenergy.chnmuseum.party.service.TUserService;
liqin's avatar
liqin committed
15 16
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
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

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

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

    @Resource
liqin's avatar
liqin committed
49
    private AuditService auditService;
wzp's avatar
wzp committed
50 51

    @Resource
liqin's avatar
liqin committed
52
    private TUserService userService;
wzp's avatar
wzp committed
53 54

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

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

149
    @DeleteMapping("/delete/{id}")
wzp's avatar
wzp committed
150
    @RequiresAuthentication  //@RequiresPermissions("/audit/delete")
wzp's avatar
wzp committed
151 152 153 154 155 156 157 158 159 160 161 162
    @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
163
//    @GetMapping("/getList")
wzp's avatar
wzp committed
164
//    @RequiresAuthentication  //@RequiresPermissions("/audit/getList")
wzp's avatar
wzp committed
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
//    @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
182
//    @RequiresAuthentication  //@RequiresPermissions("/audit/getPageList")
wzp's avatar
wzp committed
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
//    @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
205 206 207

    @ApiOperation(value = "获取禁用审核详情", notes = "获取禁用审核详情")
    @GetMapping("/getById")
wzp's avatar
wzp committed
208
    @RequiresAuthentication  //@RequiresPermissions("/audit/getById")
wzp's avatar
wzp committed
209 210 211 212
    @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)
    })
liqin's avatar
liqin committed
213
    @MethodLog(operModule = OperModule.CHECKVIDEO, operType = OperType.DETAILS)
wzp's avatar
wzp committed
214
    public Map<String, Object> getById(String id, String type) {
wzp's avatar
wzp committed
215 216
        HashMap<String, Object> resultMap = new HashMap<>();
        try {
liqin's avatar
liqin committed
217
            Audit audit = auditService.selectOne(id, type);
wzp's avatar
wzp committed
218 219
            resultMap.put("resultCode", "200");
            resultMap.put("message", "操作成功");
wzp's avatar
wzp committed
220 221 222 223 224 225
            resultMap.put("data", audit);
            return resultMap;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return getFailResult();
wzp's avatar
wzp committed
226 227
    }

228 229 230 231 232 233
    @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"),
234
            @ApiImplicitParam(name = "status", value = "待初审:TBC, 驳回:REFUSED,待复审:TBCA, 通过:APPROVED_FINAL", paramType = "query", dataType = "String"),
liqin's avatar
liqin committed
235
            @ApiImplicitParam(name = "type", value = "视频内容:VIDEO_CONTENT,展板内容:EXHIBITION_BOARD,学习内容:LEARNING_CONTENT", paramType = "query", dataType = "String", allowableValues = "VIDEO_CONTENT,EXHIBITION_BOARD,LEARNING_CONTENT,ACCOUNT", required = true)
236
    })
liqin's avatar
liqin committed
237
    @MethodLog(operModule = OperModule.CHECKVIDEO, operType = OperType.SELECT)
liqin's avatar
liqin committed
238
    public Map<String, Object> getPageAllList(String name, String status, @NotBlank(message = "type参数不能为空") String type) {
239
        AuditStatusEnum auditStatus = null;
wzp's avatar
wzp committed
240
        AuditStatusEnum auditStatusLevel = null;
241
        AuditTypeEnum auditTypeEnum = AuditTypeEnum.valueOf(type);
wzp's avatar
wzp committed
242
//数据权限,暂时注释
wzp's avatar
wzp committed
243 244 245 246 247
//        TUser user = getcurUser();
//        switch (auditTypeEnum){
//            case ASSET:
//                if (user.getRoleList().contains("9")){
//                    auditStatusLevel=AuditStatusEnum.TBC;
wzp's avatar
wzp committed
248
//                }else if(user.getRoleList().contains("10")) {
wzp's avatar
wzp committed
249
//                    auditStatusLevel=AuditStatusEnum.TBCA;
wzp's avatar
wzp committed
250 251
//                }else {
//                    auditStatusLevel=AuditStatusEnum.APPROVED_FINAL;
wzp's avatar
wzp committed
252 253 254 255 256
//                }
//                break;
//            case EXHIBITION_BOARD:
//                if (user.getRoleList().contains("11")){
//                    auditStatusLevel=AuditStatusEnum.TBC;
wzp's avatar
wzp committed
257
//                }else if(user.getRoleList().contains("12")) {
wzp's avatar
wzp committed
258
//                    auditStatusLevel=AuditStatusEnum.TBCA;
wzp's avatar
wzp committed
259 260
//                }else {
//                    auditStatusLevel=AuditStatusEnum.APPROVED_FINAL;
wzp's avatar
wzp committed
261 262 263 264 265
//                }
//                break;
//            case LEARNING_CONTENT:
//                if (user.getRoleList().contains("13")){
//                    auditStatusLevel=AuditStatusEnum.TBC;
wzp's avatar
wzp committed
266
//                }else if(user.getRoleList().contains("14")) {
wzp's avatar
wzp committed
267
//                    auditStatusLevel=AuditStatusEnum.TBCA;
wzp's avatar
wzp committed
268 269
//                }else {
//                    auditStatusLevel=AuditStatusEnum.APPROVED_FINAL;
wzp's avatar
wzp committed
270 271 272 273
//                }
//                break;
//
//        }
274
        if (StringUtils.isNotBlank(status)) {
275
            auditStatus = AuditStatusEnum.valueOf(status);
276 277
        }
        try {
liqin's avatar
liqin committed
278
            Page<Audit> auditList = auditService.pageList(name, auditStatus, auditStatusLevel, auditTypeEnum, getPage());
279
            return getResult(auditList);
liqin's avatar
liqin committed
280
        } catch (Exception e) {
281 282 283 284 285
            e.printStackTrace();
        }
        return getFailResult();
    }

286
    @PutMapping("/updateAuditAllById")
wzp's avatar
wzp committed
287
    @RequiresAuthentication  //@RequiresPermissions("/audit/update")
288
    @ApiOperation(value = "审核管理===根据id修改审核信息", notes = "审核管理===根据id修改审核信息")
liqin's avatar
liqin committed
289
    @MethodLog(operModule = OperModule.CHECKVIDEO, operType = OperType.AUDIT)
290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309
    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());
        }
liqin's avatar
liqin committed
310
        return auditService.updateAuditAllById(audit) ? getSuccessResult() : getFailResult();
311 312 313
    }


wzp's avatar
wzp committed
314 315
}