Răsfoiți Sursa

管理后台修改

zuypeng 1 an în urmă
părinte
comite
94fb39005a

+ 0 - 1
admin-web/src/views/admin/config/list/dialog.vue

@@ -37,7 +37,6 @@ import {$body, $get} from "/@/utils/request";
 import u from '/@/utils/u'
 
 // 引入组件
-const ExtDetailForm = defineAsyncComponent(() => import('/@/components/form/ExtDetailForm.vue'));
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['refresh']);

+ 0 - 2
admin-web/src/views/admin/feedback/dialog.vue

@@ -118,8 +118,6 @@ import {Msg} from "/@/utils/message";
 import {$body, $get} from "/@/utils/request";
 import u from '/@/utils/u'
 
-// 引入组件
-const ExtDetailForm = defineAsyncComponent(() => import('/@/components/form/ExtDetailForm.vue'));
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['refresh']);

+ 10 - 10
admin-web/src/views/admin/index.vue

@@ -108,7 +108,16 @@ const state = reactive({
     {
       num1: '0',
       num2: '-12.32',
-      num3: '今日洗车量(kwh)',
+      num3: '今日洗车用电量(kwh)',
+      num4: 'fa fa-meetup',
+      color1: '#FF6462',
+      color2: '--next-color-primary-lighter',
+      color3: '--el-color-primary',
+    },
+    {
+      num1: '0',
+      num2: '-12.32',
+      num3: '今日洗车用水量(m³)',
       num4: 'fa fa-meetup',
       color1: '#FF6462',
       color2: '--next-color-primary-lighter',
@@ -123,15 +132,6 @@ const state = reactive({
       color2: '--next-color-success-lighter',
       color3: '--el-color-success',
     },
-    {
-      num1: '0',
-      num2: '+17.32',
-      num3: '今日总电费(元)',
-      num4: 'iconfont icon-zaosheng',
-      color1: '#6690F9',
-      color2: '--next-color-warning-lighter',
-      color3: '--el-color-warning',
-    },
     {
       num1: '0',
       num2: '-10.01',

+ 0 - 1
admin-web/src/views/admin/ordering/dialog.vue

@@ -311,7 +311,6 @@ import {$body, $get} from "/@/utils/request";
 import u from '/@/utils/u'
 
 // 引入组件
-const ExtDetailForm = defineAsyncComponent(() => import('/@/components/form/ExtDetailForm.vue'));
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['refresh']);

+ 1 - 1
admin-web/src/views/admin/ordering/index.vue

@@ -74,7 +74,7 @@ import mittBus from '/@/utils/mitt';
 import {ElButton} from 'element-plus'
 
 
-const WashOrderDialog = defineAsyncComponent(() => import("/@/views/page/WashOrderDialog.vue"));
+const WashOrderDialog = defineAsyncComponent(() => import("/@/views/admin/ordering/dialog.vue"));
 
 //定义引用
 const queryRef = ref();

+ 0 - 1
admin-web/src/views/admin/station/endpoint/index.vue

@@ -74,7 +74,6 @@ import mittBus from '/@/utils/mitt';
 import {ElButton} from 'element-plus'
 
 
-const WashDeviceDialog = defineAsyncComponent(() => import("/@/views/page/WashDeviceDialog.vue"));
 
 //定义引用
 const queryRef = ref();

+ 0 - 1
admin-web/src/views/admin/station/list/dialog.vue

@@ -159,7 +159,6 @@ import {$body, $get} from "/@/utils/request";
 import u from '/@/utils/u'
 
 // 引入组件
-const ExtDetailForm = defineAsyncComponent(() => import('/@/components/form/ExtDetailForm.vue'));
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['refresh']);

+ 1 - 22
admin-web/src/views/admin/station/list/index.vue

@@ -74,7 +74,7 @@ import mittBus from '/@/utils/mitt';
 import {ElButton} from 'element-plus'
 
 
-const WashStationDialog = defineAsyncComponent(() => import("/@/views/page/WashStationDialog.vue"));
+const WashStationDialog = defineAsyncComponent(() => import("/@/views/admin/station/list/dialog.vue"));
 
 //定义引用
 const queryRef = ref();
@@ -152,20 +152,6 @@ const state = reactive({
 // );
 
 //生命周期钩子
-onBeforeMount(() => {
-  let token = Session.get("token")
-  let encodeToken = encodeURIComponent(token)
-  let exportUrl = `poi/export?type=washStation&X-Token=${encodeToken}`
-  //导入导出参数配置
-  state.importConfig = {
-    auths: ['washStation.add'],
-    url: `poi/import?type=washStation&X-Token=${encodeToken}`,
-    template: `${exportUrl}&isTemplate=true`
-  }
-
-  state.exportConfig = {url: exportUrl,}
-
-})
 
 onMounted(() => {
   loadData();
@@ -176,15 +162,8 @@ onMounted(() => {
     state.tableData.height = bodyHeight - queryHeight - 220
   })
 
-  mittBus.on("washStation.refresh",()=>{
-    loadData();
-  })
 });
 
-onBeforeUnmount(()=>{
-  mittBus.off("washStation.refresh")
-})
-
 
 //region 方法区
 // 初始化表格数据

+ 0 - 1
admin-web/src/views/admin/user/dialog.vue

@@ -109,7 +109,6 @@ import ExtDSelect from "/@/components/form/ExtDSelect.vue";
 import ExtUpload from "/@/components/form/ExtUpload.vue";
 
 // 引入组件
-// const ExtDetailForm = defineAsyncComponent(() => import('/@/components/form/ExtDetailForm.vue'));
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['refresh']);

+ 0 - 71
car-wash-admin/src/main/java/com/kym/admin/controller/StationController.java

@@ -1,71 +0,0 @@
-package com.kym.admin.controller;
-
-import com.alibaba.fastjson2.JSONObject;
-import com.kym.common.R;
-import com.kym.common.annotation.SysLog;
-import com.kym.entity.admin.Station;
-import com.kym.entity.admin.queryParams.StationQueryParam;
-import com.kym.service.admin.StationService;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * <p>
- * 充电站信息 前端控制器
- * </p>
- *
- * @author skyline
- * @since 2023-08-12
- */
-@RestController
-@RequestMapping("/station")
-public class StationController {
-
-    private final StationService stationService;
-
-
-    public StationController(StationService stationService) {
-        this.stationService = stationService;
-    }
-
-    @SysLog("充电站数据统计")
-    @GetMapping("/stationStatusDetail")
-    R<?> stationStatusDetail(@RequestParam("stationId") String stationId,
-                             @RequestParam("startTime") @DateTimeFormat(pattern = "yyyy-MM-dd") String startTime,
-                             @RequestParam("endTime") @DateTimeFormat(pattern = "yyyy-MM-dd") String endTime) {
-        // 请求en+接口
-        var response = stationService.stationStats(stationId, startTime, endTime);
-        return R.success(response);
-    }
-
-    @SysLog("站点列表")
-    @GetMapping("listStation")
-    R<?> listStation(@ModelAttribute StationQueryParam params) {
-        return R.success(stationService.listStation(params));
-    }
-
-    @SysLog("修改站点信息")
-    @PostMapping("modify")
-    R<?> modifyStation(@RequestBody Station station) {
-        stationService.modifyStation(station);
-        return R.success();
-    }
-
-    /**
-     * 拉取EN+充电站信息数据并更新本地服务器数据
-     *
-     * @return
-     */
-    @GetMapping("/pullEnStations/{stationId}")
-    R<?> pullEnStationInfos(@PathVariable String stationId) {
-        stationService.pullEnStationInfos(stationId);
-        return R.success();
-    }
-
-    @PostMapping("/importStation")
-    R<?> importStation(@RequestBody JSONObject data) {
-        stationService.importStation(data);
-        return R.success(data);
-    }
-
-}

+ 82 - 0
car-wash-admin/src/main/java/com/kym/admin/controller/WashStationController.java

@@ -0,0 +1,82 @@
+package com.kym.admin.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.kym.common.R;
+import com.kym.common.annotation.SysLog;
+import com.kym.entity.miniapp.WashStation;
+import com.kym.entity.miniapp.queryParams.StationQueryParams;
+import com.kym.service.miniapp.WashStationService;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 充电站信息 前端控制器
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-08-12
+ */
+@RestController
+@RequestMapping("/washStation")
+public class WashStationController {
+
+    private final WashStationService washStationService;
+
+
+    public WashStationController(WashStationService stationService) {
+        this.washStationService = stationService;
+    }
+
+    @SysLog("充电站数据统计")
+    @GetMapping("/stationStatusDetail")
+    R<?> stationStatusDetail(@RequestParam("stationId") String stationId,
+                             @RequestParam("startTime") @DateTimeFormat(pattern = "yyyy-MM-dd") String startTime,
+                             @RequestParam("endTime") @DateTimeFormat(pattern = "yyyy-MM-dd") String endTime) {
+        // 请求en+接口
+//        var response = stationService.stationStats(stationId, startTime, endTime);
+        return R.success();
+    }
+
+    @SaCheckPermission("WashStation.list")
+    @SysLog("站点列表")
+    @PostMapping("list")
+    R<?> listStation(@RequestBody StationQueryParams params) {
+        return R.success(washStationService.list(params));
+    }
+
+    @SaCheckPermission("WashStation.list")
+    @SysLog("详情")
+    @GetMapping("detail/{id}")
+    R<?> detail(@PathVariable long id) {
+        return R.success(washStationService.detail(id));
+    }
+
+    @SaCheckPermission("WashStation.remove")
+    @SysLog("删除")
+    @GetMapping("remove/{id}")
+    R<?> remove(@PathVariable long id) {
+        washStationService.remove(id);
+        return R.success();
+    }
+
+    @SaCheckPermission("WashStation.modify")
+    @SysLog("修改")
+    @PostMapping("modify")
+    R<?> modify(@RequestBody WashStation station) {
+        washStationService.modify(station);
+        return R.success();
+    }
+
+    @SaCheckPermission("WashStation.add")
+    @SysLog("新建")
+    @PostMapping("add")
+    R<?> add(@RequestBody WashStation station) {
+        washStationService.add(station);
+        return R.success();
+    }
+
+
+
+
+}

+ 13 - 0
car-wash-common/src/main/java/com/kym/common/utils/CommUtil.java

@@ -55,6 +55,19 @@ public class CommUtil {
         }
     }
 
+
+    public static void assertsNonNulls(List<Object> obj, String error) {
+        if (isEmptyOrNull(obj)) {
+            throw new BusinessException(ResponseEnum.FAILED.getCode(), error);
+        }
+        obj.forEach(k->{
+            if (isEmptyOrNull(k)) {
+                throw new BusinessException(ResponseEnum.FAILED.getCode(), error);
+            }
+        });
+    }
+
+
     /**
      * 断言
      *

+ 2 - 0
car-wash-entity/src/main/java/com/kym/entity/miniapp/queryParams/StationQueryParams.java

@@ -9,4 +9,6 @@ import lombok.Data;
 @Data
 public class StationQueryParams extends PageParams {
     private String stationName;
+    private String stationType;
+    private String address;
 }

+ 15 - 1
car-wash-service/src/main/java/com/kym/service/miniapp/WashStationService.java

@@ -15,6 +15,20 @@ import com.kym.service.mybatisplus.MyBaseService;
  */
 public interface WashStationService extends MyBaseService<WashStation> {
 
-    // ====================================================== 小程序接口 Start ===========================================================
+    //region 小程序接口
     PageBean<WashStation> listStationForApp(StationQueryParams params);
+    //endregion
+
+
+    //region 后台接口
+    void add(WashStation station);
+
+    void modify(WashStation station);
+
+    PageBean<WashStation> list(StationQueryParams query);
+
+    WashStation detail(Long id);
+
+    void remove(Long id);
+    //endregion
 }

+ 43 - 0
car-wash-service/src/main/java/com/kym/service/miniapp/impl/WashStationServiceImpl.java

@@ -10,6 +10,8 @@ import com.kym.service.miniapp.WashStationService;
 import com.kym.service.mybatisplus.MyBaseServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 洗车站点表 服务实现类
@@ -24,6 +26,46 @@ public class WashStationServiceImpl extends MyBaseServiceImpl<WashStationMapper,
 
     // ====================================================== 运营平台接口 Start ===========================================================
 
+    @Override
+    public void add(WashStation station) {
+         CommUtil.assertsNonNulls(List.of(station.getStationName(),station.getStationId(),station.getStationType()),"参数异常");
+        Long count = lambdaQuery().eq(WashStation::getStationName, station.getStationName()).count();
+        CommUtil.asserts(count==0,"站点已存在");
+        save(station);
+
+    }
+
+    @Override
+    public void modify(WashStation station) {
+        CommUtil.assertsNonNulls(List.of(station.getStationName(),station.getStationId(),station.getStationType(),station.getId()),"参数异常");
+        List<WashStation> list = lambdaQuery().eq(WashStation::getStationName, station.getStationName()).list();
+        CommUtil.asserts(list.size()<=1,"站点信息异常");
+        if(list.size()==1){
+            CommUtil.asserts(list.get(0).getStationName().equalsIgnoreCase(station.getStationName()),"站点已存在");
+        }
+        updateById(station);
+    }
+
+    @Override
+    public PageBean<WashStation> list(StationQueryParams query) {
+        PageHelper.startPage(query.getPageNum(),query.getPageSize());
+        List<WashStation> list = lambdaQuery()
+                .like(CommUtil.isNotEmptyAndNull(query.getStationName()), WashStation::getStationName, query.getStationName())
+                .like(CommUtil.isNotEmptyAndNull(query.getAddress()), WashStation::getAddress, query.getAddress())
+                .eq(CommUtil.isNotEmptyAndNull(query.getStationType()), WashStation::getStationType, query.getStationType())
+                .list();
+        return new PageBean<>(list);
+    }
+
+    @Override
+    public WashStation detail(Long id) {
+        return getById(id);
+    }
+
+    @Override
+    public void remove(Long id) {
+
+    }
     // ====================================================== 运营平台接口 Start ===========================================================
 
 
@@ -40,6 +82,7 @@ public class WashStationServiceImpl extends MyBaseServiceImpl<WashStationMapper,
         return new PageBean<>(res);
 
     }
+
     // ====================================================== 小程序接口 End ===========================================================
 
 }

+ 13 - 13
car-wash-service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -163,19 +163,19 @@ public class WxPayServiceImpl implements WxPayService {
             ClassPathResource resource = new ClassPathResource(conf.getKeyPath());
             privateKey = IoUtil.read(resource.getInputStream(), StandardCharsets.UTF_8);
         }
-        config = new RSAAutoCertificateConfig.Builder()
-                .merchantId(conf.getMchid()) // 商户号
-                .privateKey(privateKey)//商户API私钥路径
-                .merchantSerialNumber(conf.getMchsn()) // 商户证书序列号
-                .apiV3Key(conf.getV3key()) // 商户APIV3密钥
-                .build();
-        jsapiService = new JsapiService.Builder().config(config).build();
-        refundService = new RefundService.Builder().config(config).build();
-
-        wxHttpClient = (OkHttpClientAdapter) new DefaultHttpClientBuilder().newInstance().config(config).build();
-
-        // 初始化微信电子发票开发配置,主要是回调地址 todo 区块链电子发票开通后放开
-        // devConfig();
+//        config = new RSAAutoCertificateConfig.Builder()
+//                .merchantId(conf.getMchid()) // 商户号
+//                .privateKey(privateKey)//商户API私钥路径
+//                .merchantSerialNumber(conf.getMchsn()) // 商户证书序列号
+//                .apiV3Key(conf.getV3key()) // 商户APIV3密钥
+//                .build();
+//        jsapiService = new JsapiService.Builder().config(config).build();
+//        refundService = new RefundService.Builder().config(config).build();
+//
+//        wxHttpClient = (OkHttpClientAdapter) new DefaultHttpClientBuilder().newInstance().config(config).build();
+//
+//        // 初始化微信电子发票开发配置,主要是回调地址 todo 区块链电子发票开通后放开
+//         devConfig();
     }
 
     /**