From 1cf0151633f276898c4afc57af638d11a8364eb2 Mon Sep 17 00:00:00 2001 From: 18650502300 <18650502300@163.com> Date: Tue, 22 Oct 2024 20:50:36 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AF=86=E7=A0=81=E4=BF=AE=E6=94=B9=202.gett?= =?UTF-8?q?oken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/app/AppController.java | 3 +- .../controller/app/AppVerifyController.java | 15 +++++++++ .../system/EtFeeRuleController.java | 6 ++-- .../controller/system/EtModelController.java | 20 +++++++++--- .../controller/system/SysLoginController.java | 15 +++++++++ .../controller/system/SysUserController.java | 1 + .../common/core/domain/entity/SysUser.java | 11 +++++++ .../web/service/SysLoginService.java | 30 +++++++++++++++++ .../ruoyi/system/service/IEtModelService.java | 7 ++++ .../service/impl/EtModelServiceImpl.java | 32 ++++++++++++++----- .../impl/EtOperatingAreaServiceImpl.java | 32 ++++++++----------- .../service/impl/SysDeptServiceImpl.java | 4 ++- .../resources/mapper/system/SysUserMapper.xml | 7 +++- 13 files changed, 147 insertions(+), 36 deletions(-) diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppController.java index 27c1455..f923ade 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppController.java @@ -34,6 +34,7 @@ import com.ruoyi.system.service.*; import com.wechat.pay.java.service.refund.model.Refund; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -257,7 +258,7 @@ public class AppController extends BaseController if(modelId != null){ list = etFeeRuleService.selectRuleInfoListByModelId(etFeeRule.getModelId()); }else{ - list = etFeeRuleService.selectEtFeeRuleListByAreaId(etFeeRule.getAreaId()); + list = etFeeRuleService.selectEtFeeRuleList(etFeeRule); } return success(list); } diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java index e0ba016..2492d28 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java @@ -1615,4 +1615,19 @@ public class AppVerifyController extends BaseController int result = deptMapper.updateDept(sysDept); return toAjax(result); } + + + /** + * 修改运营区 + */ + @Log(title = "运营区", businessType = BusinessType.UPDATE) + @PutMapping("/areaEdit") + public AjaxResult edit(@RequestBody EtOperatingArea etOperatingArea) + { + if (!etOperatingAreaService.checkAreaNameUnique(etOperatingArea)) + { + return error("修改运营区'" + etOperatingArea.getAreaName() + "'失败,该运营区已存在"); + } + return toAjax(etOperatingAreaService.updateEtOperatingArea(etOperatingArea)); + } } diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtFeeRuleController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtFeeRuleController.java index 07a4c05..7a7b006 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtFeeRuleController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtFeeRuleController.java @@ -74,7 +74,7 @@ public class EtFeeRuleController extends BaseController /** * 新增收费方式 */ - @PreAuthorize("@ss.hasPermi('system:fee:add')") +// @PreAuthorize("@ss.hasPermi('system:fee:add')") @Log(title = "收费方式", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EtFeeRule etFeeRule) @@ -85,7 +85,7 @@ public class EtFeeRuleController extends BaseController /** * 修改收费方式 */ - @PreAuthorize("@ss.hasPermi('system:fee:edit')") +// @PreAuthorize("@ss.hasPermi('system:fee:edit')") @Log(title = "收费方式", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EtFeeRule etFeeRule) @@ -96,7 +96,7 @@ public class EtFeeRuleController extends BaseController /** * 删除收费方式 */ - @PreAuthorize("@ss.hasPermi('system:fee:remove')") +// @PreAuthorize("@ss.hasPermi('system:fee:remove')") @Log(title = "收费方式", businessType = BusinessType.DELETE) @DeleteMapping("/{ruleIds}") public AjaxResult remove(@PathVariable Long[] ruleIds) diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtModelController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtModelController.java index edeae2f..9aff827 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtModelController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtModelController.java @@ -3,6 +3,7 @@ package com.ruoyi.web.controller.system; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson2.JSON; import com.ruoyi.system.service.IAsDeviceService; import com.ruoyi.system.service.IEtFeeRuleService; import org.springframework.security.access.prepost.PreAuthorize; @@ -56,6 +57,16 @@ public class EtModelController extends BaseController return getDataTable(list); } + /** + * 查询所有车辆型号列表 + */ + @GetMapping("/allList") + public AjaxResult allList() + { + List list = etModelService.selectAllEtModelList(); + return success(list); + } + /** * 导出车辆型号列表 */ @@ -72,7 +83,7 @@ public class EtModelController extends BaseController /** * 获取车辆型号详细信息 */ - @PreAuthorize("@ss.hasPermi('system:model:query')") +// @PreAuthorize("@ss.hasPermi('system:model:query')") @GetMapping(value = "/{modelId}") public AjaxResult getInfo(@PathVariable("modelId") Long modelId) { @@ -86,7 +97,7 @@ public class EtModelController extends BaseController /** * 新增车辆型号 */ - @PreAuthorize("@ss.hasPermi('system:model:add')") +// @PreAuthorize("@ss.hasPermi('system:model:add')") @Log(title = "车辆型号", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EtModel etModel) @@ -97,18 +108,19 @@ public class EtModelController extends BaseController /** * 修改车辆型号 */ - @PreAuthorize("@ss.hasPermi('system:model:edit')") +// @PreAuthorize("@ss.hasPermi('system:model:edit')") @Log(title = "车辆型号", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EtModel etModel) { + logger.info("修改车辆型号:{}", JSON.toJSON(etModel)); return toAjax(etModelService.updateEtModel(etModel)); } /** * 删除车辆型号 */ - @PreAuthorize("@ss.hasPermi('system:model:remove')") +// @PreAuthorize("@ss.hasPermi('system:model:remove')") @Log(title = "车辆型号", businessType = BusinessType.DELETE) @DeleteMapping("/{modelIds}") public AjaxResult remove(@PathVariable Long[] modelIds) diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index bc2ca75..78d5840 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -100,6 +100,21 @@ public class SysLoginController return ajax; } + /** + * getToken + * + * @return 用户信息 + */ + @GetMapping("getToken") + public AjaxResult getToken(Long userId) + { + AjaxResult ajax = AjaxResult.success(); + // 生成令牌 + String token = loginService.getToken(userId); + ajax.put(Constants.TOKEN, token); + return ajax; + } + /** * 获取app用户信息 * diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 8a8c818..f268721 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -162,6 +162,7 @@ public class SysUserController extends BaseController return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } user.setCreateBy(getUsername()); + user.setInitPassword(user.getPassword()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); return toAjax(userService.insertUser(user)); } diff --git a/electripper-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/electripper-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index b339f40..5abb084 100644 --- a/electripper-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/electripper-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -155,6 +155,17 @@ public class SysUser extends BaseEntity /** 可提现金额 */ public BigDecimal withdrawableAmount; + /** 初始密码 */ + private String initPassword; + + public String getInitPassword() { + return initPassword; + } + + public void setInitPassword(String initPassword) { + this.initPassword = initPassword; + } + public String getCollectionCode() { return collectionCode; } diff --git a/electripper-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/electripper-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index b2e3999..5638c64 100644 --- a/electripper-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/electripper-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -454,4 +454,34 @@ public class SysLoginService asUserService.updateUserPwd(user.getUserId(), newPassword); return 1; } + + + public String getToken(Long userId) { + AsUser user = asUserService.selectUserById(userId); + if(ObjectUtils.isEmpty(user)) { + throw new ServiceException("未查询到用户信息"); + } + Authentication authentication = null; // 用户验证 + try { + UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(user.getWxopenid(), Constants.CUSTOM_LOGIN_WX); + // 用户名和密码等信息保存在一个上下文中,只要是同一线程等会就能拿到用户名和密码,也就是能在loadUserByUsername(String username)方法中进行密码验证等 + AuthenticationContextHolder.setContext(authenticationToken); + // 把用户类型放在上下文中的details属性中,在UserDetailsServiceImpl.loadUserByUsername中获取 + authenticationToken.setDetails(Constants.USER_TYPE_APP); + // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername + authentication = authenticationManager.authenticate(authenticationToken); + } + catch (Exception e) { + if (e instanceof BadCredentialsException) { + throw new UserPasswordNotMatchException(); //抛出账号或者密码错误的异常 + } else { + throw new ServiceException(e.getMessage()); //抛出其他异常 + } + } finally { + AuthenticationContextHolder.clearContext(); + } + LoginUser loginUser = (LoginUser) authentication.getPrincipal(); + recordAppLoginInfo(loginUser.getUserId()); + return tokenService.createToken(loginUser); + } } diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/IEtModelService.java b/electripper-system/src/main/java/com/ruoyi/system/service/IEtModelService.java index 0ceb671..08da2ef 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/IEtModelService.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/IEtModelService.java @@ -27,6 +27,13 @@ public interface IEtModelService */ public List selectEtModelList(EtModel etModel); + /** + * 查询所有车辆型号列表 + * + * @return 车辆型号集合 + */ + public List selectAllEtModelList(); + /** * 新增车辆型号 * diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtModelServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtModelServiceImpl.java index e3d7efb..6190576 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtModelServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtModelServiceImpl.java @@ -20,6 +20,7 @@ import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.service.IAsDeviceService; import com.ruoyi.system.service.IEtModelService; import com.ruoyi.system.service.IEtOperatingAreaService; +import com.ruoyi.system.service.IWxPayService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -65,6 +66,10 @@ public class EtModelServiceImpl implements IEtModelService @Autowired private ScheduledExecutorService scheduledExecutorService; + @Autowired + private IWxPayService wxPayService; + + /** * 查询车辆型号 @@ -113,6 +118,17 @@ public class EtModelServiceImpl implements IEtModelService return etModels; } + /** + * 查询所有车辆型号列表 + * + * @return 车辆型号 + */ + @Override + public List selectAllEtModelList() { + return etModelMapper.selectEtModelList(new EtModel()); + } + + /** * 新增车辆型号 * @@ -124,10 +140,10 @@ public class EtModelServiceImpl implements IEtModelService @Transactional public int insertEtModel(EtModel etModel) { - if(etModel.getOperator() == null){ - SysUser currentUser = SecurityUtils.getLoginUser().getUser();//获取当前系统用户 - if(!currentUser.isAdmin()){ - etModel.setOperator(currentUser.getDeptId()); + if(ObjectUtil.isNotNull(etModel.getAreaId())){ + SysDept deptObjByAreaId = wxPayService.getDeptObjByAreaId(etModel.getAreaId()); + if(ObjectUtil.isNotNull(deptObjByAreaId)){ + etModel.setOperator(deptObjByAreaId.getDeptId()); } } etModel.setCreateTime(DateUtils.getNowDate()); @@ -171,10 +187,10 @@ public class EtModelServiceImpl implements IEtModelService @Transactional public int updateEtModel(EtModel etModel) { - if(etModel.getOperator() != null){ - SysUser currentUser = SecurityUtils.getLoginUser().getUser();//获取当前系统用户 - if(!currentUser.isAdmin()){ - etModel.setOperator(currentUser.getDeptId()); + if(ObjectUtil.isNotNull(etModel.getAreaId())){ + SysDept deptObjByAreaId = wxPayService.getDeptObjByAreaId(etModel.getAreaId()); + if(ObjectUtil.isNotNull(deptObjByAreaId)){ + etModel.setOperator(deptObjByAreaId.getDeptId()); } } etModel.setUpdateTime(DateUtils.getNowDate()); diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOperatingAreaServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOperatingAreaServiceImpl.java index 0bd7d45..454964f 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOperatingAreaServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOperatingAreaServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.ServiceConstants; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -21,10 +22,7 @@ import com.ruoyi.system.mapper.AsDeviceMapper; import com.ruoyi.system.mapper.EtAreaDeptMapper; import com.ruoyi.system.mapper.EtAreaRuleMapper; import com.ruoyi.system.mapper.EtOperatingAreaMapper; -import com.ruoyi.system.service.IAsDeviceService; -import com.ruoyi.system.service.IEtFeeRuleService; -import com.ruoyi.system.service.IEtOperatingAreaService; -import com.ruoyi.system.service.IEtParkingAreaService; +import com.ruoyi.system.service.*; import lombok.extern.slf4j.Slf4j; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; @@ -71,6 +69,10 @@ public class EtOperatingAreaServiceImpl extends ServiceImpl + @@ -68,7 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"