AuditController.java 14.7 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 23 24 25 26 27
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;
import org.apache.shiro.authz.annotation.RequiresPermissions;
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
wzp's avatar
wzp committed
49
    private AuditServiceImpl auditService;
wzp's avatar
wzp committed
50 51 52 53 54 55 56 57

    @Resource
    private TUserServiceImpl userService;

    @GetMapping("/getUserList")
    @RequiresPermissions("/audit/getUserList")
    @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
    })
wzp's avatar
wzp 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 {
wzp's avatar
wzp 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
            //如果是账号禁用初审员,设置层级为初审
liqin's avatar
liqin committed
81
            if (user1.getRoleList().contains("15")) {
wzp's avatar
wzp committed
82
                user.setAuditStatus(AuditStatusEnum.TBC.name());
liqin's avatar
liqin committed
83
            } else if (user1.getRoleList().contains("16")) {
wzp's avatar
wzp committed
84
                user.setAuditStatus(AuditStatusEnum.TBCA.name());
liqin's avatar
liqin committed
85
            } else {
wzp's avatar
wzp committed
86 87
                //不存在的层级
                user.setAuditStatus("1");
wzp's avatar
wzp committed
88
            }
wzp's avatar
wzp committed
89
            auditList = auditService.getUserList(getPage(), user);
wzp's avatar
wzp committed
90 91 92 93 94 95 96 97 98 99
            return getResult(auditList);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return getFailResult();
    }

    @PutMapping("/update")
    @RequiresPermissions("/audit/update")
    @ApiOperation(value = "修改禁用审核信息", notes = "修改禁用审核信息")
wzp's avatar
wzp 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 151 152 153 154 155 156 157 158 159 160 161 162
    @RequiresPermissions("/audit/delete")
    @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 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
//    @GetMapping("/getList")
//    @RequiresPermissions("/audit/getList")
//    @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")
//    @RequiresPermissions("/audit/getPageList")
//    @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 208

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

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

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

        boolean update = auditService.updateAuditAllById(audit);

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


wzp's avatar
wzp committed
319 320
}