package com.ruoyi.web.pcApi.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.web.pcApi.domain.BusCompany; import com.ruoyi.web.pcApi.service.IBusCompanyService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * bus公司Controller * * @author lzp * @date 2022-08-26 */ @RestController @RequestMapping("/busCompany/busCompany") public class BusCompanyController extends BaseController { @Autowired private IBusCompanyService busCompanyService; @Autowired private ISysUserService userService; @Autowired private SysUserMapper userMapper; @Autowired private ISysDeptService deptService; /** * 查询bus公司列表 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:list')") @GetMapping("/list") public TableDataInfo list(BusCompany busCompany) { startPage(); List list = busCompanyService.selectBusCompanyList(busCompany); return getDataTable(list); } /** * 导出bus公司列表 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:export')") @Log(title = "bus公司", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, BusCompany busCompany) { List list = busCompanyService.selectBusCompanyList(busCompany); ExcelUtil util = new ExcelUtil(BusCompany.class); util.exportExcel(response, list, "bus公司数据"); } /** * 获取bus公司详细信息 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:query')") @GetMapping(value = "/{deptId}") public AjaxResult getInfo(@PathVariable("deptId") Long deptId) { return AjaxResult.success(busCompanyService.selectBusCompanyByDeptId(deptId)); } /** * 新增bus公司 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:add')") @Log(title = "bus公司", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody BusCompany busCompany) { // 默认总公司下 busCompany.setParentId(101L); // 新增bus公司管理员用户 if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(busCompany.getUsername()))) { return AjaxResult.error("新增用户'" + busCompany.getUsername() + "'失败,登录账号已存在"); } SysUser sysUser = new SysUser(); sysUser.setUserName(busCompany.getUsername()); sysUser.setNickName(busCompany.getDeptName()); sysUser.setPassword(SecurityUtils.encryptPassword(busCompany.getPassword())); sysUser.setRoleIds(new Long[]{2L}); userService.insertUser(sysUser); SysDept dept = new SysDept(); dept.setParentId(101L); dept.setDeptName(busCompany.getDeptName()); if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) { return AjaxResult.error("新增bus公司'" + dept.getDeptName() + "'失败,公司名称已存在"); } busCompany.setManager(sysUser.getUserId()); busCompany.setCreateBy(getUserId().toString()); busCompany.setAncestors("0,100,101"); busCompanyService.insertBusCompany(busCompany); // 更新用户bus sysUser.setDeptId(busCompany.getDeptId()); userMapper.updateUser(sysUser); return AjaxResult.success(); } /** * 修改bus公司 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:edit')") @Log(title = "bus公司", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody BusCompany busCompany) { SysDept dept = new SysDept(); dept.setParentId(101L); dept.setDeptName(busCompany.getDeptName()); dept.setDeptId(busCompany.getDeptId()); if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) { return AjaxResult.error("修改bus公司'" + dept.getDeptName() + "'失败,公司名称已存在"); } busCompany.setUpdateBy(getUserId().toString()); return toAjax(busCompanyService.updateBusCompany(busCompany)); } /** * 重置bus公司密码 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:resetPassword')") @Log(title = "bus公司", businessType = BusinessType.UPDATE) @PutMapping("/resetPassword") public AjaxResult resetPassword(@RequestBody BusCompany busCompany) { busCompany.setPassword(SecurityUtils.encryptPassword("123456")); busCompany.setUpdateBy(getUserId().toString()); return toAjax(busCompanyService.updateBusCompany(busCompany)); } /** * 删除bus公司 */ @PreAuthorize("@ss.hasPermi('busCompany:busCompany:remove')") @Log(title = "bus公司", businessType = BusinessType.DELETE) @DeleteMapping("/{deptIds}") public AjaxResult remove(@PathVariable Long[] deptIds) { return toAjax(busCompanyService.deleteBusCompanyByDeptIds(deptIds)); } }