xuhy
2023-06-14 831e3312572cf29dd91cbd882ef3dce809ac852d
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -22,18 +22,22 @@
import com.stylefeng.guns.core.util.ObsUploadUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
import com.stylefeng.guns.modular.system.dao.UserMapper;
import com.stylefeng.guns.modular.system.factory.UserFactory;
import com.stylefeng.guns.modular.system.model.TAgent;
import com.stylefeng.guns.modular.system.model.TBranchOffice;
import com.stylefeng.guns.modular.system.model.TCompany;
import com.stylefeng.guns.modular.system.model.User;
import com.stylefeng.guns.modular.system.service.ITCompanyService;
import com.stylefeng.guns.modular.system.service.ITDriverService;
import com.stylefeng.guns.modular.system.service.IUserService;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.transfer.UserDto;
import com.stylefeng.guns.modular.system.util.OssUploadUtil;
import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -42,7 +46,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.File;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 系统管理员控制器
@@ -64,6 +70,10 @@
    @Autowired
    private ITDriverService itDriverService;
    @Autowired
    private ITAgentService agentService;
    @Autowired
    private ITBranchOfficeService branchOfficeService;
    /**
@@ -184,10 +194,36 @@
            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
            return super.packForBT(page);
        } else {
            DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope());
            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
            page.setRecords(userService.getUserListPage(page,dataScope, name, beginTime, endTime, deptid));
            return super.packForBT(page);
            Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
            Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
            if(roleType == 3){
                // 查询下级分公司账号
                TAgent tAgent = agentService.selectById(objectId);
                List<TBranchOffice> branchOffices = branchOfficeService.selectList(new EntityWrapper<TBranchOffice>()
                        .eq("agentId", tAgent.getId()));
                List<Integer> officeIds = branchOffices.stream().map(TBranchOffice::getId).collect(Collectors.toList());
                if(CollectionUtils.isEmpty(officeIds)){
                    Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
                    page.setRecords(new ArrayList<>());
                    return super.packForBT(page);
                }
//                List<User> userList = userService.selectList(new EntityWrapper<User>()
//                        .in("object_id", officeIds));
//                List<Integer> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
                DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope());
                Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
                List<Map<String, Object>> userListPage = userService.getUserListPageAgent(page, null, name, beginTime, endTime, deptid,officeIds);
                page.setRecords(userListPage);
                return super.packForBT(page);
            }else {
                Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
                page.setRecords(new ArrayList<>());
                return super.packForBT(page);
            }
        }
    }
@@ -196,7 +232,6 @@
     */
    @RequestMapping("/add")
    @BussinessLog(value = "添加管理员", key = "account", dict = UserDict.class)
    @Permission(Const.ADMIN_NAME)
    @ResponseBody
    public Tip add(@Valid UserDto user, BindingResult result) {
        if (result.hasErrors()) {
@@ -298,7 +333,6 @@
     */
    @RequestMapping("/reset")
    @BussinessLog(value = "重置管理员密码", key = "userId", dict = UserDict.class)
    @Permission(Const.ADMIN_NAME)
    @ResponseBody
    public Tip reset(@RequestParam Integer userId) {
        if (ToolUtil.isEmpty(userId)) {
@@ -321,7 +355,6 @@
     */
    @RequestMapping("/freeze")
    @BussinessLog(value = "冻结用户", key = "userId", dict = UserDict.class)
    @Permission(Const.ADMIN_NAME)
    @ResponseBody
    public Tip freeze(@RequestParam Integer userId) {
        if (ToolUtil.isEmpty(userId)) {
@@ -361,7 +394,6 @@
     */
    @RequestMapping("/unfreeze")
    @BussinessLog(value = "解除冻结用户", key = "userId", dict = UserDict.class)
    @Permission(Const.ADMIN_NAME)
    @ResponseBody
    public Tip unfreeze(@RequestParam Integer userId) {
        if (ToolUtil.isEmpty(userId)) {
@@ -397,7 +429,6 @@
     */
    @RequestMapping("/setRole")
    @BussinessLog(value = "分配角色", key = "userId,roleIds", dict = UserDict.class)
    @Permission(Const.ADMIN_NAME)
    @ResponseBody
    public Tip setRole(@RequestParam("userId") Integer userId, @RequestParam("roleIds") String roleIds) {
        if (ToolUtil.isOneEmpty(userId, roleIds)) {
@@ -439,7 +470,11 @@
            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename());
            try {
                String fileSavePath = gunsProperties.getFileUploadPath()+"apk\\";
                String s = OssUploadUtil.ossUpload(request, file);
                InputStream inputStream = file.getInputStream();
                String name1 = file.getOriginalFilename();
                name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
                String s = OBSUtil.putObjectToBucket(inputStream, name1);
//                String s = OssUploadUtil.ossUpload(request, file);
                // file.transferTo(new File(fileSavePath + pictureName));
                return s;
            } catch (Exception e) {