linzhijie
2021-04-12 c632636e2f5b4188b430f5efc9d9f68c8dbe3d6d
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package com.ots.project.exam.controller;
import com.ots.common.constant.UserConstants;
import com.ots.common.enums.UserTypeEnum;
import com.ots.common.utils.MessageUtils;
import com.ots.common.utils.security.ShiroUtils;
import com.ots.framework.aspectj.lang.annotation.Log;
import com.ots.framework.aspectj.lang.enums.BusinessType;
import com.ots.framework.web.controller.BaseController;
import com.ots.framework.web.domain.AjaxResult;
import com.ots.framework.web.page.TableDataInfo;
import com.ots.project.exam.domain.SysUserExtend;
import com.ots.project.exam.service.ISysUserExtendService;
import com.ots.project.system.user.domain.User;
import com.ots.project.system.user.service.IUserService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
 
@Controller
@RequestMapping("/exam/extend")
public class SysUserExtendController extends BaseController {
    private String prefix = "exam/extend";
    @Autowired
    private IUserService userService;
    @Autowired
    private ISysUserExtendService sysUserExtendService;
    @RequiresPermissions("exam:extend:view")
    @GetMapping()
    public ModelAndView extend() {
        User user = ShiroUtils.getSysUser();
        if (!Objects.equals(user.getUserType(), UserTypeEnum.ENT_USER.getUserType())) {
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.addObject("errorMessage", MessageUtils.message("jsp.warning.ForNonBusinessUsers"));
            modelAndView.setViewName("error/business");
            return modelAndView;
        }
        SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId());
        Map map = new HashMap();
        map.put("user", user);
        map.put("sysUserExtend", sysUserExtend == null ? new SysUserExtend() : sysUserExtend);
        return new ModelAndView(prefix + "/extend", map);
    }
    
    @RequestMapping("/refresh")
    public String localRefresh(Model model) {
        User user = ShiroUtils.getSysUser();
        SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId());
        model.addAttribute("user", user);
        model.addAttribute("sysUserExtend", sysUserExtend);
        
        
        
        return prefix + "/extend::table_refresh";
    }
    
    @RequiresPermissions("exam:extend:edit")
    @Log(title = "用户信息扩展", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(SysUserExtend sysUserExtend) {
        return toAjax(sysUserExtendService.updateSysUserExtend(sysUserExtend));
    }
    
    @RequiresPermissions("exam:extend:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(SysUserExtend sysUserExtend) {
        startPage();
        User sysUser = ShiroUtils.getSysUser();
        if ("01".equals(sysUser.getUserType())) {
            sysUserExtend.setParentUserId(sysUser.getUserId());
        } else {
            sysUserExtend.setUserType("02");
        }
        if (Objects.nonNull(sysUserExtend.getParentUserTempId())) {
            sysUserExtend.setParentUserId(sysUserExtend.getParentUserTempId());
        }
        List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend);
        return getDataTable(list);
    }
    @PostMapping("/list2")
    @ResponseBody
    public TableDataInfo list2(SysUserExtend sysUserExtend) {
        startPage();
        User sysUser = ShiroUtils.getSysUser();
        if ("01".equals(sysUser.getUserType())) {
            sysUserExtend.setParentUserId(sysUser.getUserId());
        } else {
            sysUserExtend.setUserType("02");
        }
        if (!"00".equals(sysUser.getUserType())) {
            sysUserExtend.setParentUserId(sysUser.getUserId());
        }
        List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend);
        return getDataTable(list);
    }
    
    @RequiresPermissions("exam:extend:add")
    @Log(title = "用户信息扩展", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(SysUserExtend user) {
        if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user.getLoginName()))) {
            return error("新增用户'" + user.getLoginName() + "'失败,登录账号已存在");
        }
        return toAjax(sysUserExtendService.insertSysUserExtend(user));
    }
}