dao/src/main/java/com/sandu/ximon/dao/enums/MenuEnum.java
@@ -205,6 +205,10 @@ BASE_DEVICE_04("baseDevice04"), BASE_DEVICE_05("baseDevice05"), C3_REFUND("充电桩退款"), CHARGE_UPDATE("编辑费率"), ORDER_LIST("订单列表"), ; dao/src/main/resources/mapper/LightMapper.xml
@@ -42,7 +42,8 @@ t3.light_address AS light_address FROM light t1 LEFT JOIN pole t2 USING ( device_code ) LEFT JOIN pole_binding t5 USING ( device_code ) LEFT JOIN pole t2 ON t2.id=t5.pole_id LEFT JOIN light_task_pole_relation t3 ON t3.pole_id = t2.id LEFT JOIN light_task t4 ON t3.task_id = t4.task_id <where> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java
@@ -3,8 +3,10 @@ import com.sandu.common.domain.ResponseVO; import com.sandu.common.execption.BusinessException; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.service.C3mChargingChargeService; import com.sandu.ximon.dao.domain.C3mChargingCharge; import com.sandu.ximon.dao.enums.MenuEnum; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -22,6 +24,7 @@ public class C3mChargingChargeController { private final C3mChargingChargeService chargeService; private final PermissionConfig permissionConfig; /** * 编辑充电桩费率 @@ -31,6 +34,9 @@ */ @PostMapping("/updateC3mCharging") public ResponseVO<Object> updateC3mCharging(@RequestBody List<C3mChargingCharge> chargeEntities) { if (!permissionConfig.check(MenuEnum.CHARGE_UPDATE.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } if (chargeEntities.size() > 5) { throw new BusinessException("当前最高仅支持4组费率"); } ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
@@ -9,13 +9,13 @@ import com.sandu.ximon.admin.param.PayParam; import com.sandu.ximon.admin.pay.alipay.UsrAlipayConfigService; import com.sandu.ximon.admin.pay.wx.WxFastPayService; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.service.C3ChargingService; import com.sandu.ximon.admin.service.C3mChargingChargeService; import com.sandu.ximon.admin.service.C3mOrderService; import com.sandu.ximon.admin.utils.AliPayUtils; import com.sandu.ximon.dao.domain.C3mCharging; import com.sandu.ximon.dao.domain.C3mOrder; import com.sandu.ximon.dao.enums.OrderType; import com.sandu.ximon.dao.enums.MenuEnum; import lombok.AllArgsConstructor; import me.chanjar.weixin.common.error.WxErrorException; import org.springframework.web.bind.annotation.*; @@ -38,6 +38,7 @@ private final UsrAlipayConfigService alipayConfigService; private final WxFastPayService wxPayService; private final C3mChargingChargeService c3mChargingChargeService; private final PermissionConfig permissionConfig; /** @@ -47,6 +48,9 @@ */ @PostMapping("/refund") public ResponseVO<Object> refund(@RequestBody PayParam params) { if (!permissionConfig.check(MenuEnum.C3_REFUND.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } if (params.getOutTradeNo().isEmpty() || params.getOutTradeNo() == null) { throw new BusinessException("退款参数不能为空"); } @@ -85,10 +89,9 @@ String s = WxFastPayService.parseWxAmount(c3mOrderEntity.getTotalAmount().toString()); //生成微信预付订单 SortedMap<Object, Object> result = wxPayService.miniAppPay(request,"扫码充电支付(C3充电桩)", c3mOrderEntity.getOutTradeNo(), Integer.valueOf(s), param.getPoleId(), param.getOpenId()); SortedMap<Object, Object> result = wxPayService.miniAppPay(request, "扫码充电支付(C3充电桩)", c3mOrderEntity.getOutTradeNo(), Integer.valueOf(s), param.getPoleId(), param.getOpenId()); return ResponseUtil.success(result); } /** @@ -105,6 +108,9 @@ @RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "orderStatus", required = false) Integer orderStatus, @RequestParam(value = "timeType", required = false) Integer timeType) { if (!permissionConfig.check(MenuEnum.ORDER_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.successPage(c3mOrderService.orderList(baseConditionVO, keyword, orderStatus, timeType)); } ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -488,15 +488,15 @@ /** * 关闭天气推送 */ @GetMapping("/closeWeatherPush/{id}") public ResponseVO<Object> closeWeatherPush(@PathVariable Long id) { @GetMapping("/closeWeatherPush/{poleId}") public ResponseVO<Object> closeWeatherPush(@PathVariable Long poleId) { if (!permissionConfig.check(MenuEnum.XIXUN_CLOSE_AIR.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } if (id == null) { throw new BusinessException("未选择LED屏"); if (poleId == null) { throw new BusinessException("灯杆id不能为空!"); } SpringContextHolder.getBean(PoleService.class).closeXiXunAirPush(id); SpringContextHolder.getBean(PoleService.class).closeXiXunAirPush(poleId); return ResponseUtil.success("关闭成功"); } ximon-admin/src/main/java/com/sandu/ximon/admin/service/MenuService.java
@@ -1,30 +1,24 @@ package com.sandu.ximon.admin.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.enums.RoleLevelStatus; import com.sandu.common.execption.BusinessException; import com.sandu.common.execption.EntityExistException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.common.util.SpringContextHolder; import com.sandu.ximon.admin.param.MenuParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.dao.bo.MenuNode; import com.sandu.ximon.dao.domain.AdminRoleRelation; import com.sandu.ximon.dao.domain.Menu; import com.sandu.ximon.dao.domain.Role; import com.sandu.ximon.dao.domain.RoleMenuRelation; import com.sandu.ximon.dao.mapper.AdminRoleRelationMapper; import com.sandu.ximon.dao.mapper.MenuMapper; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** @@ -74,6 +68,10 @@ throw new BusinessException("找不到菜单信息"); } if (one.getPid() == 0 && param.getPid() != 0) { throw new BusinessException("目录已是最顶层菜单,无法设置上级目录 !"); } List<Role> roles = SpringContextHolder.getBean(RoleService.class).listByAdminId(SecurityUtils.getUserId()); Integer roleLevel = roles.stream().map(Role::getLevel).min(Integer::compareTo).orElse(RoleLevelStatus.COMMON.getCode()); if (!RoleLevelStatus.SUPER.getCode().equals(roleLevel)) { ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -902,8 +902,10 @@ throw new BusinessException("设备不存在"); } //关闭推送 SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode()); String clear = SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode()); if (clear.contains("is not") || clear.contains("does not")) { throw new BusinessException("设备不在线或设备未存在于服务器"); } } /**