liukangdong
2024-10-10 73a5abf448a0367d8472f9e7545a076d21d804b1
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已添加7个文件
已修改35个文件
1036 ■■■■ 文件已修改
admin/src/views/business/platformEvent.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/api/system/SystemPositionController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CategoryCloudController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsConfigCloudController.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/SmsConfigMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/PlatformLogJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/SmsConfig.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CategoryService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsConfigService.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformLogServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsConfigServiceImpl.java 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/platformEvent.vue
@@ -1,5 +1,5 @@
<template>
    <TableLayout :permissions="['business:interfacelog:query']">
    <TableLayout :permissions="['business:platformevent:query']">
        <!-- æœç´¢è¡¨å• -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
          <el-form-item label="" prop="platformName">
@@ -46,24 +46,24 @@
                :data="tableData.list"
                stripe
            >
                <el-table-column prop="platformName" label="月台名称" min-width="180px"></el-table-column>
                <el-table-column prop="channelName" label="监控点名称" min-width="180px"></el-table-column>
                <el-table-column prop="plateNo" label="车牌号" min-width="180px"></el-table-column>
                <el-table-column   label="车辆进出类型" min-width="180px">
                <el-table-column prop="platformName" label="月台名称" min-width="150px"></el-table-column>
                <el-table-column prop="channelName" label="监控点名称" min-width="150px"></el-table-column>
                <el-table-column prop="plateNo" label="车牌号" min-width="100px"></el-table-column>
                <el-table-column   label="进出类型" min-width="90px">
                  <template slot-scope="{row}">
                    <span v-if="row.motionStatus == 'enter'">进入span>
                    <span v-if="row.motionStatus == 'enter'">进入</span>
                    <span v-if="row.motionStatus == 'leave'">离开</span>
                    <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span>
                  </template>
                </el-table-column>
                <el-table-column   label="前后标识" min-width="180px">
                <el-table-column   label="前后标识" min-width="90px">
                  <template slot-scope="{row}">
                    <span v-if="row.stockStatus == 'rear'">车尾</span>
                    <span v-if="row.stockStatus == 'front'">车头</span>
                    <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="stockStatus" label="车门状态" min-width="180px"></el-table-column>
                <el-table-column prop="stockStatus" label="车门状态" min-width="90px"></el-table-column>
                <el-table-column label="车门状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.vehicleDoorStatus == 'open'">开门</span>
@@ -71,9 +71,9 @@
                        <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus }}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="deviceId" label="设备编码" min-width="150px"></el-table-column>
                <el-table-column prop="srcIndex" label="设备编码" min-width="180px"></el-table-column>
                <el-table-column prop="ipAddress" label="IP地址" min-width="100px"></el-table-column>
                <el-table-column prop="portNo" label="端口" min-width="100px"></el-table-column>
                <el-table-column prop="portNo" label="端口" min-width="80px"></el-table-column>
                <el-table-column fixed="right" label="抓拍图" min-width="100px">
                  <template slot-scope="{row}">
                    <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown"
@@ -81,7 +81,7 @@
                    </el-image>
                  </template>
                </el-table-column>
                <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="创建时间" min-width="160px"></el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: system_gateway
  # å®‰å…¨é…ç½®
server/system_service/src/main/java/com/doumee/api/system/SystemPositionController.java
@@ -2,6 +2,7 @@
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemPositionBiz;
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.constants.OperaType;
@@ -17,7 +18,6 @@
import com.doumee.service.system.SystemUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@@ -47,7 +47,7 @@
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("system:position:create")
    @CloudRequiredPermission("system:position:create")
    public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemPosition systemPosition, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        systemPosition.setCreateUser(this.getLoginUser(token).getId());
        return ApiResponse.success(systemPositionBiz.create(systemPosition));
@@ -55,7 +55,7 @@
    @ApiOperation("删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("system:position:delete")
    @CloudRequiredPermission("system:position:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        systemPositionBiz.deleteById(id);
        return ApiResponse.success(null);
@@ -63,7 +63,7 @@
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("system:position:delete")
    @CloudRequiredPermission("system:position:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
@@ -76,7 +76,7 @@
    @ApiOperation("修改")
    @PostMapping("/updateById")
    @RequiresPermissions("system:position:update")
    @CloudRequiredPermission("system:position:update")
    public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemPosition systemPosition, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        systemPosition.setUpdateUser(this.getLoginUser(token).getId());
        systemPositionBiz.updateById(systemPosition);
@@ -85,14 +85,14 @@
    @ApiOperation("查询岗位树列表")
    @PostMapping("/tree")
    @RequiresPermissions("system:position:query")
    @CloudRequiredPermission("system:position:query")
    public ApiResponse<List<SystemPositionListVO>> findTree () {
        return ApiResponse.success(systemPositionBiz.findTree());
    }
    @ApiOperation("查询岗位列表")
    @PostMapping("/all")
    @RequiresPermissions("system:position:query")
    @CloudRequiredPermission("system:position:query")
    public ApiResponse<List<SystemPosition>> findList () {
        SystemPosition systemPosition = new SystemPosition();
        systemPosition.setDeleted(Boolean.FALSE);
@@ -102,7 +102,7 @@
    @Trace(exclude = true)
    @ApiOperation("查询岗位人员")
    @PostMapping("/users")
    @RequiresPermissions("system:position:queryUsers")
    @CloudRequiredPermission("system:position:queryUsers")
    public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
        return ApiResponse.success(systemUserService.findPage(pageWrap));
    }
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java
@@ -51,7 +51,7 @@
    @Override
    public List<SystemPositionListVO> findTree() {
        return positionDataPermissionAware.execute();
        return systemPositionService.findList();
    }
    @Override
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
@@ -137,6 +137,7 @@
        // ç”Ÿæˆå¯†ç 
        systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt));
        systemUser.setSalt(salt);
        systemUser.setSource(Constants.ZERO);
        // åˆ›å»ºç”¨æˆ·è®°å½•
        systemUser.setType(Constants.ZERO);
server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
@@ -101,15 +101,12 @@
            if(contentType != null){
                connection.setRequestProperty("Content-Type", contentType);
            }
            connection.connect();
            if(data != null){
                OutputStream outputStream = connection.getOutputStream();
                outputStream.write(data.getBytes("utf-8"));
                outputStream.close();
            }
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpsURLConnection.HTTP_OK) {
               return  connection.getInputStream();
server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
package com.doumee.core.utils;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SmsConstants {
    public interface SmsObjectType{
        String inventCode = "0"; //验证码
        String visit= "1"; //访客申请
        String visitReport = "2"; //访客报备
        String hiddenDanger ="3";//隐患随手拍
        String carUse ="4";//用车申请
        String meeting ="5";//会议预约
        String platformBook ="6";//物流车预约
        String platformJob ="7";//月台作业
    }
    /**
     * è®¿å®¢ç”³è¯·
     */
    public interface visitContent{
        //访客申请-通知(给审批人)
        String visitNotice = "您有一条【{访客申请}】需要处理,详细信息请前往微信公众号查看。";
        //访客申请-审批通过通知(给申请人):。
        String visitAuditSuccess = "您的【{访客申请}】已经审批通过,请于{预约入园开始时间}前往门卫室访客机签到入园,如有疑问,请联系被访人";
        //访客申请-审批驳回通知(给申请人):。
        String visitAuditFail = "您的【{访客申请}】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系被访人。";
        //访客申请-超时未签离-通知(给申请人):
        String visitTimeOutSignOut = "您的【访客申请】已于{到期时间}到期,请及时离场并前往门卫室访客机签离,如有疑问,请联系被访人";
        //访客申请-超时未签离-通知(给指定接收人)
        String visitTimeOutSignOutNum = "今日还有{未签离数量}个访客未签离,请前往PC端查看详细信息。";
    }
    /**
     * è®¿å®¢æŠ¥å¤‡
     */
    public interface visitReportingContent{
        //访客报备-通知(给审批人)
        String visitReportingNotice = "您有一条【{访客报备}】需要处理,详细信息请前往微信公众号查看。";
        //访客报备-审批通过通知(给申请人):。
        String visitReportingAuditSuccess = "您的【{访客报备}】已经审批通过,请通知访客于{预约入园开始时间}后乘坐{车牌号}入园,如有疑问,请联系被访人。";
        //访客报备-审批驳回通知(给申请人):。
        String visitReportingAuditFail = "您的【{访客报备}】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系审批人。";
        //访客报备-超时未离场-通知(给申请人):
        String visitReportingTimeOutSignOut = "您的【访客报备】已于{预约入园结束时间}到期,请及时离场,如有疑问,请联系被访人";
        //访客报备-超时未离场-通知(给指定接收人)
        String visitReporting_time_out_sign_out_num = "今日还有{未签离数量}个访客报备车辆未离场,请前往PC端查看详细信息。";
    }
    /**
     * é𐿂£éšæ‰‹æ‹
     */
    public interface hiddenDangerContent{
        //隐患随手拍-通知(给处理人)
        String hiddenDanger_deal_user = "您有一条【{隐患随手拍-消防隐患}】需要处理,详细信息请前往微信公众号查看";
        //隐患随手拍-处理完成(给申请人):。
        String hiddenDanger_deal_over = "您提交的【{隐患随手拍-消防隐患}】已经处理完毕,详细信息请前往微信公众号查看。";
    }
    /**
     * ç”¨è½¦ç”³è¯·
     */
    public interface carUseBookContent{
        //短信通知模板(给处理人)
        String carUseBook_wait_audit = "您有一条【{用车申请}】需要处理,详细信息请前往微信公众号查看。";
        //用车申请-审批通过通知(给申请人):。
        String carUseBook_audit_success = "您的【{用车申请}】已经审批通过,出发时间为{提交的出发时间},请按时用车。如用车计划有变,请及时联系派车员。";
        //用车申请-审批驳回通知(给申请人):。
        String carUseBook_audit_fail = "您的【{用车申请}】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系派车员。";
        //用车申请-审批驳回通知(给申请人):。
        String carUseBook_cancel = "您的【{用车申请}】已被取消,取消原因为:{取消原因}。如有疑问,请联系派车员。";
    }
    /**
     * ç‰©æµè½¦é¢„约
     */
    public interface platformBookContent{
        //短信通知模板(给处理人)
        String platformBook_wait_audit = "您有一条【车辆入园申请】需要处理,详细信息请前往微信公众号查看。";
        //物流车预约-审批通过通知(给申请人):。
        String platformBook_audit_success = "您的【车辆入园申请】已经审批通过,入园时间为2024-7-19 09:00,请提前30分钟前往现场签到。如计划有变,请及时联系审核人员。";
        //物流车预约-审批驳回短信通知模板(给申请人)
        String platformBook_audit_fail = "您的【车辆入园申请】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系审核人员。";
        //物流车预约-入园预约取消短信通知模板(给申请人)
        String carUseBook_cancel = "您的【车辆入园申请】已被取消,取消原因为:{取消原因}。如有疑问,请联系审核人员。";
    }
    /**
     * ç‰©æµä½œä¸š
     */
    public interface platformJobContent{
        // è¿è¾“任务下达 ï¼ˆç»™å¸æœºï¼‰
        String platformJob_new_job = "【车牌号】车主您好,您有一个新的运输任务,详细信息请前往微信公众号查看。";
        //物流车作业-运输任务中止提醒(给司机):。
        String platformJob_stop_job = "【车牌号】车主您好,您的运输任务已被取消,详细信息请前往微信公众号查看。";
        //物流车预约-叫号入园等待(给司机)
        String platformBook_call_in = "【车牌号】车主您好,请在10分钟内,前往园区等待区等待叫号作业。";
        //物流车预约-月台叫号(给司机)
        String platformBook_sing_in = "【车牌号】车主您好,请在10分钟内,前往{月台名称}进行作业。";
        //物流车预约-月台叫号过号(给司机)
        String platformBook_over_num = "【车牌号】车主您好,您的任务已过号,请重新签到排队等待。";
        //物流车预约-作业开始(给司机)
        String platformBook_working = "【车牌号】车主您好,您的车辆已在{月台名称}开始作业,请随时关注作业情况。";
        //物流车预约-作业完成(给司机)
        String platformBook_finish = "【车牌号】车主您好,您的车辆已在{月台名称}完成作业,请及时驶离月台。";
        //物流车预约-作业异常挂起(给司机)
        String platformBook_error = "【车牌号】车主您好,您在{月台名称}的作业任务已经被异常挂起,请及时关注具体情况";
        //物流车预约-月台转移(给司机)
        String platformBook_move = "【车牌号】车主您好,您在{月台名称}的作业任务已经已被转移至{转移后月台名称},请及时关注叫号情况。";
        //物流车预约-月台停靠超时(给司机)
        String platformBook_time_out = "【车牌号】车主您好,您在{月台名称}已停靠超时,请尽快驶离以免影响后续作业。";
    }
}
server/system_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: systemTimer
    # å®‰å…¨é…ç½®
server/visits/admin_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: visitsTimer
    # å®‰å…¨é…ç½®
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CategoryCloudController.java
@@ -75,6 +75,13 @@
        return ApiResponse.success(categoryService.findPage(pageWrap));
    }
    @ApiOperation("列表查询")
    @PostMapping("/list")
    @CloudRequiredPermission("business:category:query")
    public ApiResponse<List<Category>> findList (@RequestBody Category category,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(categoryService.queryList(category));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @CloudRequiredPermission("business:category:exportExcel")
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
@@ -50,6 +50,8 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private HkSyncImgServiceImpl hkSyncImgService;
    @Autowired
    private DeviceService deviceService;
    @ApiOperation("【海康】测试LED显示屏")
@@ -98,6 +100,20 @@
    public ApiResponse<BaseResponse> testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) {
        return ApiResponse.success(  HKService.customBroadcast(request));
    }
    @ApiOperation("【海康】测试人脸图片下载")
    @PostMapping("/testDonwLoadMemberImg")
    @LoginNoRequired
    public ApiResponse<BaseResponse> testDonwLoadMemberImg() {
        hkSyncImgService.startDealMemberImg();
        return ApiResponse.success(  null);
    }
    @ApiOperation("【海康】测试月台事件图片下载")
    @PostMapping("/testDonwLoadPlatformImg")
    @LoginNoRequired
    public ApiResponse<BaseResponse> testDonwLoadPlatformImg() {
        hkSyncImgService.startDealPlatformEventImg();
        return ApiResponse.success(  null);
    }
    @ApiOperation("【海康】测试获取微信公众号")
    @GetMapping("/testWxToken")
    @LoginNoRequired
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsConfigCloudController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,91 @@
package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.SmsConfig;
import com.doumee.service.business.SmsConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/09 15:41
 */
@Api(tags = "短信业务配置")
@RestController
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/smsConfig")
public class SmsConfigCloudController extends BaseController {
    @Autowired
    private SmsConfigService smsConfigService;
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @CloudRequiredPermission("business:smsconfig:create")
    public ApiResponse create(@RequestBody SmsConfig smsConfig) {
        return ApiResponse.success(smsConfigService.create(smsConfig));
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @CloudRequiredPermission("business:smsconfig:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        smsConfigService.deleteById(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @CloudRequiredPermission("business:smsconfig:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
        for (String id : idArray) {
            idList.add(Integer.valueOf(id));
        }
        smsConfigService.deleteByIdInBatch(idList);
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @CloudRequiredPermission("business:smsconfig:update")
    public ApiResponse updateById(@RequestBody SmsConfig smsConfig) {
        smsConfigService.updateById(smsConfig);
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @CloudRequiredPermission("business:smsconfig:query")
    public ApiResponse<PageData<SmsConfig>> findPage (@RequestBody PageWrap<SmsConfig> pageWrap) {
        return ApiResponse.success(smsConfigService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @CloudRequiredPermission("business:smsconfig:exportExcel")
    public void exportExcel (@RequestBody PageWrap<SmsConfig> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(SmsConfig.class).export(smsConfigService.findPage(pageWrap).getRecords(), "短信业务配置", response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @CloudRequiredPermission("business:smsconfig:query")
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(smsConfigService.findById(id));
    }
}
server/visits/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java
@@ -43,15 +43,10 @@
    }
    public  int  initHkParamConfig(){
        if(StringUtils.isBlank(ArtemisConfig.appKey )
                ||StringUtils.isBlank(ArtemisConfig.host )
                ||StringUtils.isBlank(ArtemisConfig.appSecret )
        ){
            ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
            ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
            ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
            HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
        }
        ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
        ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
        ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
        HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
        HKTools.interfaceLogService=interfaceLogService;
        return  0;
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -1,10 +1,8 @@
package com.doumee.core.haikang.model;
import com.alibaba.fastjson.JSONObject;
import com.doumee.config.SpringContextUtil;
import com.doumee.core.haikang.model.param.request.CarPictureRequest;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.service.business.InterfaceLogService;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
@@ -13,18 +11,14 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.tomcat.util.bcel.Const;
import org.yaml.snakeyaml.scanner.Constant;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@Slf4j
@@ -79,9 +73,9 @@
    private static Map<String, String> getPath(String str) {
        final String getCamsApi = HKConstants.ARTEMIS_PATH  + str;
        Map<String, String> path = new HashMap<String, String>(2) {
            {
                put(HKConstants.https, getCamsApi);// æ ¹æ®çŽ°åœºçŽ¯å¢ƒéƒ¨ç½²ç¡®è®¤æ˜¯http还是https
            }
        {
            put(HKConstants.https, getCamsApi);// æ ¹æ®çŽ°åœºçŽ¯å¢ƒéƒ¨ç½²ç¡®è®¤æ˜¯http还是https
        }
        };
        return  path;
    }
@@ -246,6 +240,7 @@
            InputStream in = entity.getContent();
            return  in;
        }else{
            log.error("人脸下载出错");
            throw  new Exception("人脸下载出错");
        }
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -10,6 +10,7 @@
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.utils.Constants;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -230,6 +231,8 @@
     */
    public static InputStream getFaceInputStream(FacePictureRequest param) {
        log.info("【海康人脸访问图片流】================开始===="+JSONObject.toJSONString(param));
        log.error("********************ArtemisConfig.host***********************************"+ ArtemisConfig.host);
        log.error("********************ArtemisConfig.key********************************"+ArtemisConfig.appKey);
        try {
            InputStream res = HKTools.getFaceInputStream(JSONObject.toJSONString(param));
            log.error("【海康人脸访问图片流】================成功====\n");
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/SmsConfigMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.SmsConfig;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/09 15:41
 */
public interface SmsConfigMapper extends BaseMapper<SmsConfig> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/PlatformLogJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.PlatformLog;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/06/28 10:03
 */
public interface PlatformLogJoinMapper extends MPJBaseMapper<PlatformLog> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java
@@ -113,15 +113,17 @@
    private Integer authStatus;
    @ApiModelProperty(value = "所属分组编码(关联car_group)", example = "1")
    @ExcelColumn(name="所属分组编码(关联car_group)")
    @ApiModelProperty(value = "所属组织主键(关联company)", example = "1")
    @ExcelColumn(name="所属组织主键(关联company)")
    private Integer groupId;
    @ApiModelProperty(value = "类型 0安泰公务车 1安泰自有物流车 2其它", example = "1")
    @ExcelColumn(name="类型 0安泰公务车 1安泰自有物流车 2其它")
    private Integer type;
    @ApiModelProperty(value = "所属分类编码", example = "1")
    @ExcelColumn(name="所属分类编码")
    private Integer cateId;
    @ApiModelProperty(value = "停车场名称集合", example = "1")
    @ExcelColumn(name="停车场名称集合")
@@ -170,6 +172,28 @@
    @TableField(exist = false)
    private int jobNum;
    @ApiModelProperty(value = "一级分类主键", example = "1")
    @TableField(exist = false)
    private Integer catePId;
    @ApiModelProperty(value = "分类名称", example = "1")
    @TableField(exist = false)
    private String cateName;
    @ApiModelProperty(value = "一级分类名称", example = "1")
    @TableField(exist = false)
    private String catePName;
    @ApiModelProperty(value = "车辆部门名称", example = "1")
    @ExcelColumn(name="车辆组织部门名称")
    @TableField(exist = false)
    private String carCompanyName;
    @ApiModelProperty(value = "车辆部门全路径名称", example = "1")
    @ExcelColumn(name="车辆部门全路径名称")
    @TableField(exist = false)
    private String carCompanyNamePath;
    @ApiModelProperty(value = "授权停车场编码集合", example = "1")
    @TableField(exist = false)
    private List<Integer> parkIdList;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
@@ -10,6 +11,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.util.List;
/**
 * åˆ†ç±»ä¿¡æ¯è¡¨
@@ -66,12 +68,17 @@
    @ExcelColumn(name="图标")
    private String imgurl;
    @ApiModelProperty(value = "类型 0公司类型")
    @ExcelColumn(name="类型 0公司类型")
    @ApiModelProperty(value = "类型 0公司类型 1车辆类型")
    @ExcelColumn(name="类型 0公司类型 1车辆类型")
    private Integer type;
    @ApiModelProperty(value = "父级编码(自关联)")
    @ExcelColumn(name="父级编码(自关联)")
    private Integer parentId;
    @ApiModelProperty(value = "子集分类")
    @TableField(exist = false)
    private List<Category> childCategoryList;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java
@@ -32,7 +32,6 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +40,6 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -95,4 +96,47 @@
    @ExcelColumn(name="参数4")
    private String param4;
    @ApiModelProperty(value = "月台名称")
    @TableField(exist = false)
    private String platformName;
    @ApiModelProperty(value = "月台组主键")
    @TableField(exist = false)
    private Integer platformGroupId;
    @ApiModelProperty(value = "月台组名称")
    @TableField(exist = false)
    private String platformGroupName;
    @ApiModelProperty(value = "前车牌照")
    @TableField(exist = false)
    private String carCodeFront;
    @ApiModelProperty(value = "后车牌照")
    @TableField(exist = false)
    private String carCodeBack;
    @ApiModelProperty(value = "开始作业时间起")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginWorkDateStart;
    @ApiModelProperty(value = "开始作业时间止")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginWorkDateEnd;
    @ApiModelProperty(value = "多状态查询 å¤šä¸ªä»¥,分割")
    @TableField(exist = false)
    private String queryStatus;
    @ApiModelProperty(value = "作业唯一标识(承运单号)")
    @TableField(exist = false)
    private String billCode;
    @ApiModelProperty(value = "合同号")
    @TableField(exist = false)
    private String contractNum;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/SmsConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.doumee.dao.business.model;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
 * çŸ­ä¿¡ä¸šåŠ¡é…ç½®
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/09 15:41
 */
@Data
@ApiModel("短信业务配置")
@TableName("`sms_config`")
public class SmsConfig {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "创建人编码")
    @ExcelColumn(name="创建人编码")
    private String creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码")
    @ExcelColumn(name="更新人编码")
    private String edirot;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "开启状态:0开启;1关闭", example = "1")
    @ExcelColumn(name="开启状态:0开启;1关闭")
    private Integer status;
    @ApiModelProperty(value = "短信编码")
    @ExcelColumn(name="短信编码")
    private String code;
    @ApiModelProperty(value = "短信内容")
    @ExcelColumn(name="短信内容")
    private String content;
    @ApiModelProperty(value = "短信类型 1=访客业务;2=访客报备;3=隐患随手拍;4=用车申请;5=会议室信息;6=物流车预约;7=物流车作业")
    @ExcelColumn(name="短信类型 1=访客业务;2=访客报备;3=隐患随手拍;4=用车申请;5=会议室信息;6=物流车预约;7=物流车作业")
    private String objType;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
@@ -86,9 +86,10 @@
    @ExcelColumn(name="关联对象编码")
    private Integer objId;
    @ApiModelProperty(value = "关联对象类型")
    @ExcelColumn(name="关联对象类型")
    @ApiModelProperty(value = "关联对象类型 0=验证码;1=访客业务;2=访客报备;3=隐患随手拍;4=用车申请;5=会议室信息;6=物流车预约;7=物流车作业")
    @ExcelColumn(name="关联对象类型 0=验证码;1=访客业务;2=访客报备;3=隐患随手拍;4=用车申请;5=会议室信息;6=物流车预约;7=物流车作业")
    private String objType;
    @ApiModelProperty(value = "附件集合")
    @TableField(exist = false)
    private   List<Map<String,Object>> fileList;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CategoryService.java
@@ -78,7 +78,14 @@
     * @return List<Category>
     */
    List<Category> findList(Category category);
    /**
     * è‡ªå®šä¹‰åˆ—表
     * @param category
     * @return
     */
    List<Category> queryList(Category category);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsConfigService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.doumee.service.business;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.SmsConfig;
import java.util.List;
/**
 * çŸ­ä¿¡ä¸šåŠ¡é…ç½®Service定义
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/09 15:41
 */
public interface SmsConfigService {
    /**
     * åˆ›å»º
     *
     * @param smsConfig å®žä½“对象
     * @return Integer
     */
    Integer create(SmsConfig smsConfig);
    /**
     * ä¸»é”®åˆ é™¤
     *
     * @param id ä¸»é”®
     */
    void deleteById(Integer id);
    /**
     * åˆ é™¤
     *
     * @param smsConfig å®žä½“对象
     */
    void delete(SmsConfig smsConfig);
    /**
     * æ‰¹é‡ä¸»é”®åˆ é™¤
     *
     * @param ids ä¸»é”®é›†
     */
    void deleteByIdInBatch(List<Integer> ids);
    /**
     * ä¸»é”®æ›´æ–°
     *
     * @param smsConfig å®žä½“对象
     */
    void updateById(SmsConfig smsConfig);
    /**
     * æ‰¹é‡ä¸»é”®æ›´æ–°
     *
     * @param smsConfigs å®žä½“集
     */
    void updateByIdInBatch(List<SmsConfig> smsConfigs);
    /**
     * ä¸»é”®æŸ¥è¯¢
     *
     * @param id ä¸»é”®
     * @return SmsConfig
     */
    SmsConfig findById(Integer id);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param smsConfig å®žä½“对象
     * @return SmsConfig
     */
    SmsConfig findOne(SmsConfig smsConfig);
    /**
     * æ¡ä»¶æŸ¥è¯¢
     *
     * @param smsConfig å®žä½“对象
     * @return List<SmsConfig>
     */
    List<SmsConfig> findList(SmsConfig smsConfig);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<SmsConfig>
     */
    PageData<SmsConfig> findPage(PageWrap<SmsConfig> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
     *
     * @param smsConfig å®žä½“对象
     * @return long
     */
    long count(SmsConfig smsConfig);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
@@ -56,6 +56,8 @@
    String dealParkEvent(EventParkRequest param, HttpServletResponse response);
    String downHKImgs(int type);
    void startDealPlatformEventImg();
    void  startDealMemberImg();
    void cancelEventSub();
    void syncOrgData(LoginUserInfo user);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -1516,6 +1516,7 @@
            //生成任务记录
            PlatformJob platformJob = platformBooks.toPlatformJob();
            platformJob.setId(null);
            platformJob.setPlatformGroupId(platformReason.getGroupId().intValue());
            platformJob.setType(Constants.platformJobType.sgscxh);
            platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey());
@@ -1533,7 +1534,6 @@
            platformLog.setObjId(platformJob.getId().toString());
            platformLog.setAfterContent(JSONObject.toJSONString(platformJob));
            platformLogMapper.insert(platformLog);
        }else{
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -58,6 +58,7 @@
        }
        if(StringUtils.isBlank(model.getCode())
            ||model.getType()==null
            ||model.getCateId()==null
            ||model.getType()<0
            ||model.getType()>3
        ){
@@ -183,6 +184,7 @@
        if(StringUtils.isBlank(model.getCode())
                ||model.getId()==null
                ||model.getType()==null
                ||model.getCateId()==null
                ||model.getType()<0
                ||model.getType()>3
        ){
@@ -226,6 +228,8 @@
                .set(Cars::getAuthStatus,Constants.ZERO)
                .set(Cars::getType,model.getType())
                .set(Cars::getCode,model.getCode())
                .set(Cars::getGroupId,model.getGroupId())
                .set(Cars::getCateId,model.getCateId())
                .set(Cars::getEditDate,model.getEditDate())
                .set(Cars::getEdirot,model.getEdirot())
                .set(Cars::getMemberId,model.getMemberId())
@@ -248,6 +252,10 @@
    public Cars findById(Integer id) {
        return carsMapper.selectById(id);
    }
    @Override
    public Cars findOne(Cars cars) {
@@ -272,9 +280,17 @@
        queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName);
        queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone);
        queryWrapper.selectAs(Company::getCompanyNamePath,Cars::getCompanyName);
        queryWrapper.selectAs(Category::getParentId,Cars::getCatePId);
        queryWrapper.selectAs(Category::getName,Cars::getCateName);
        queryWrapper.select(" c.name as catePName");
        queryWrapper.select(" c1.COMPANY_NAME_PATH as carCompanyNamePath");
        queryWrapper.select(" c1.name as carCompanyName");
        queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Cars::getEdirot);
        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
        queryWrapper.leftJoin(Category.class,Category::getId,Cars::getCateId);
        queryWrapper.leftJoin("category c on t4.PARENT_ID = c.id");
        queryWrapper.leftJoin("company c1 on t.GROUP_ID = c1.id");
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                .or().like(Member::getPhone,pageWrap.getModel().getMemberName()));
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -21,6 +21,8 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * åˆ†ç±»ä¿¡æ¯è¡¨Service实现
@@ -51,7 +53,7 @@
        insert.setStatus(Constants.ZERO);
        insert.setSortnum(category.getSortnum());
        insert.setImgurl(category.getImgurl());
        insert.setType(Constants.ZERO);
        insert.setType(category.getType());
        insert.setParentId(category.getParentId());
        categoryMapper.insert(insert);
        return insert.getId();
@@ -59,7 +61,9 @@
    @Override
    public void deleteById(Integer id) {
        categoryMapper.deleteById(id);
        categoryMapper.update(null,new UpdateWrapper<Category>().lambda().set(Category::getIsdeleted,Constants.ONE)
                .eq(Category::getId,id)
        );
    }
    @Override
@@ -73,7 +77,9 @@
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        categoryMapper.deleteBatchIds(ids);
        categoryMapper.update(null,new UpdateWrapper<Category>().lambda().set(Category::getIsdeleted,Constants.ONE)
                .in(Category::getId,ids)
        );
    }
    @Override
@@ -110,59 +116,38 @@
    }
    @Override
    public List<Category> queryList(Category category) {
        List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
                .eq(Objects.nonNull(category)&&Objects.nonNull(category.getType()),Category::getType,category.getType())
                .isNull(Objects.nonNull(category)&&Objects.isNull(category.getParentId()),Category::getParentId)
                .eq(Objects.nonNull(category)&&Objects.nonNull(category.getParentId()),Category::getParentId,category.getParentId())
                .eq(Category::getIsdeleted,Constants.ZERO)
        );
        return categoryList;
    }
    @Override
    public PageData<Category> findPage(PageWrap<Category> pageWrap) {
        IPage<Category> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Category::getId, pageWrap.getModel().getId());
        queryWrapper.lambda().eq(Category::getIsdeleted,Constants.ZERO)
                .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
                .isNull(Category::getParentId);
        PageData<Category> categoryPageData = PageData.from(categoryMapper.selectPage(page, queryWrapper));
        //查询所有二级数据
        List<Category> categoryList = categoryMapper.selectList(
                new QueryWrapper<Category>().lambda()
                        .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
                        .eq(Category::getIsdeleted,Constants.ZERO).isNotNull(Category::getParentId));
        for (Category category:categoryPageData.getRecords()) {
            category.setChildCategoryList(
                    categoryList.stream().filter(i->Constants.equalsInteger(i.getParentId(),category.getId())).collect(Collectors.toList())
            );
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(Category::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(Category::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(Category::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(Category::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(Category::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(Category::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(Category::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Category::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Category::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(Category::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(Category::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(Category::getImgurl, pageWrap.getModel().getImgurl());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(Category::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getParentId() != null) {
            queryWrapper.lambda().eq(Category::getParentId, pageWrap.getModel().getParentId());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(categoryMapper.selectPage(page, queryWrapper));
        return categoryPageData;
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java
@@ -28,12 +28,10 @@
    @PostConstruct
    public  int  initHkConfig(){
        if(StringUtils.isBlank( ArtemisConfig.host )){
            ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
            ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
            ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
            HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
        }
        HKTools.interfaceLogService=interfaceLogService;
        return  0;
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -60,6 +60,9 @@
    private PlatformReasonMapper platformReasonMapper;
    @Autowired
    private PlatformGroupMapper platformGroupMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
@@ -241,6 +244,13 @@
        if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"入园原因信息异常,请刷新重试");
        }
        PlatformGroup platformGroup= platformGroupMapper.selectById(platformReason.getGroupId());
        if(Objects.isNull(platformGroup)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到绑定月台组数据");
        }
        if(!Constants.equalsInteger(platformGroup.getIsdeleted(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"绑定月台组数据异常,请联系管理员");
        }
        //查询车辆是否为自有车
        if(carsMapper.selectCount(new QueryWrapper<Cars>().lambda().eq(Cars::getIsdeleted,Constants.ZERO).eq(Cars::getCode,platformBooksApplyDTO.getCarCodeFront()))>Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"["+platformBooksApplyDTO.getCarCodeFront()+"]属于内部车辆,无法预约");
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
@@ -221,10 +221,10 @@
        PageData<PlatformEvent> result = PageData.from(platformEventMapper.selectJoinPage(page, PlatformEvent.class,queryWrapper));
        if(result!=null && result.getRecords()!=null){
            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.PLATFORM_EVENT_IMG).getCode();
            for(PlatformEvent model : result.getRecords()){
                if(StringUtils.isNotBlank(model.getBackgroundImageContent())){
                    model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageContent());
                if(StringUtils.isNotBlank(model.getBackgroundImageDown())){
                    model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageDown());
                }
            }
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -693,6 +693,7 @@
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                Constants.PlatformJobStatus.CALLED.getKey())
                        .orderByDesc(PlatformJob::getStatus)
                        .orderByAsc(PlatformJob::getSignDate)
        );
        //获取所有月台组
@@ -720,6 +721,7 @@
                            .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                    Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                    Constants.PlatformJobStatus.CALLED.getKey())
                            .orderByDesc(PlatformJob::getStatus)
                            .orderByDesc(PlatformJob::getSignDate));
            platformGroup.setSignJobList(platformJobSignInList);
            //查询当前月台组下
@@ -1376,7 +1378,8 @@
            }
        }else if(Constants.equalsInteger(objType,Constants.PlatformJobLogType.WORKING.getKey())){
            platformLog.setParam1(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
            platformLog.setParam3("0");
            platformLog.setParam3("0");
            platformLog.setRemark(platformJobBefor.getPlatformId().toString());
        }else{
            platformLog.setParam3("0");
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformLogServiceImpl.java
@@ -5,7 +5,8 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PlatformLogMapper;
import com.doumee.dao.business.model.PlatformLog;
import com.doumee.dao.business.join.PlatformLogJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.openapi.request.CarLogsListRequest;
import com.doumee.dao.openapi.response.CarLogsListResponse;
import com.doumee.service.business.PlatformLogService;
@@ -13,6 +14,8 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -32,6 +35,9 @@
    @Autowired
    private PlatformLogMapper platformLogMapper;
    @Autowired
    private PlatformLogJoinMapper platformLogJoinMapper;
    @Override
    public Integer create(PlatformLog platformLog) {
@@ -93,30 +99,27 @@
    @Override
    public PageData<PlatformLog> findPage(PageWrap<PlatformLog> pageWrap) {
        IPage<PlatformLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<PlatformLog> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<PlatformLog> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.lambda()
                .eq(pageWrap.getModel().getId() != null, PlatformLog::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getCreator() != null, PlatformLog::getCreator, pageWrap.getModel().getCreator())
                .ge(pageWrap.getModel().getCreateDate() != null, PlatformLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
                .le(pageWrap.getModel().getCreateDate() != null, PlatformLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
                .eq(pageWrap.getModel().getEditor() != null, PlatformLog::getEditor, pageWrap.getModel().getEditor())
                .ge(pageWrap.getModel().getEditDate() != null, PlatformLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
                .le(pageWrap.getModel().getEditDate() != null, PlatformLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformLog::getIsdeleted, pageWrap.getModel().getIsdeleted())
                .eq(pageWrap.getModel().getRemark() != null, PlatformLog::getRemark, pageWrap.getModel().getRemark())
                .eq(pageWrap.getModel().getJobId() != null, PlatformLog::getJobId, pageWrap.getModel().getJobId())
                .eq(pageWrap.getModel().getTitle() != null, PlatformLog::getTitle, pageWrap.getModel().getTitle())
                .eq(pageWrap.getModel().getContent() != null, PlatformLog::getContent, pageWrap.getModel().getContent())
                .eq(pageWrap.getModel().getObjType() != null, PlatformLog::getObjType, pageWrap.getModel().getObjType())
                .eq(pageWrap.getModel().getObjId() != null, PlatformLog::getObjId, pageWrap.getModel().getObjId())
                .eq(pageWrap.getModel().getBeforeContent() != null, PlatformLog::getBeforeContent, pageWrap.getModel().getBeforeContent())
                .eq(pageWrap.getModel().getAfterContent() != null, PlatformLog::getAfterContent, pageWrap.getModel().getAfterContent())
                .eq(pageWrap.getModel().getParam1() != null, PlatformLog::getParam1, pageWrap.getModel().getParam1())
                .eq(pageWrap.getModel().getParam2() != null, PlatformLog::getParam2, pageWrap.getModel().getParam2())
                .eq(pageWrap.getModel().getParam3() != null, PlatformLog::getParam3, pageWrap.getModel().getParam3())
                .eq(pageWrap.getModel().getParam4() != null, PlatformLog::getParam4, pageWrap.getModel().getParam4())
        queryWrapper.selectAll(PlatformLog.class)
                .selectAs(Platform::getName,PlatformLog::getPlatformName)
                .selectAs(PlatformGroup::getName,PlatformLog::getPlatformGroupName)
                .selectAs(PlatformJob::getCarCodeFront,PlatformLog::getCarCodeFront)
                .selectAs(PlatformJob::getCarCodeBack,PlatformLog::getCarCodeBack)
                .selectAs(PlatformJob::getBillCode,PlatformLog::getBillCode)
                .selectAs(PlatformJob::getContractNum,PlatformLog::getContractNum)
                .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformLog::getJobId)
                .leftJoin(Platform.class,Platform::getId,PlatformLog::getRemark)
                .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
                .like(pageWrap.getModel().getPlatformName() != null, Platform::getName, pageWrap.getModel().getPlatformName())
                .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformGroup::getId, pageWrap.getModel().getPlatformGroupId())
                .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
                .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformLog::getParam1, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
                .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformLog::getParam2, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
                .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.OBJ_TYPE,'"+pageWrap.getModel().getQueryStatus()+"') and t.remark is not null  ")
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
@@ -124,7 +127,13 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(platformLogMapper.selectPage(page, queryWrapper));
        IPage<PlatformLog> platformJobIPage = platformLogJoinMapper.selectJoinPage(page,PlatformLog.class,queryWrapper);
        for (PlatformLog platformLog:platformJobIPage.getRecords()) {
            if(StringUtils.isBlank(platformLog.getBillCode())){
                platformLog.setBillCode(platformLog.getContractNum());
            }
        }
        return PageData.from(platformJobIPage);
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -323,6 +323,9 @@
                .select(" ( select ROUND( ifnull(SUM(pl.PARAM3),0) / 3600 , 2 )   from platform_log pl  where   pl.remark = t.id  " +
                        " and pl.CREATE_DATE > '"+DateUtil.getFomartDate(platform.getQueryDateStart(),"yyyy-MM-dd")+" 00:00:00'  " +
                        "and pl.CREATE_DATE <=  '"+DateUtil.getFomartDate(platform.getQueryDateEnd(),"yyyy-MM-dd")+" 23:59:59'  ) as workCountTime ")
                .select(" ( select count(1)  from platform_log pl  where   pl.remark = t.id  " +
                        " and pl.CREATE_DATE > '"+DateUtil.getFomartDate(platform.getQueryDateStart(),"yyyy-MM-dd")+" 00:00:00'  " +
                        "and pl.CREATE_DATE <=  '"+DateUtil.getFomartDate(platform.getQueryDateEnd(),"yyyy-MM-dd")+" 23:59:59' and pl.OBJ_TYPE = 5  ) as stopCount ")
                .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId);
        queryWrapper
                .eq(platform.getGroupId() != null, Platform::getGroupId, platform.getGroupId())
@@ -349,8 +352,6 @@
            //查询2日期相差天数
            Integer sumDays = DateUtil.daysBetweenDates(platform.getQueryDateEnd(),platform.getQueryDateStart())+1;
            for (Platform bean:platformList) {
                List<PlatformJob> beanJobList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),bean.getId())).collect(Collectors.toList());
                bean.setStopCount(beanJobList.size());
                if(Objects.isNull(bean.getOpenTime())||bean.getOpenTime().compareTo(BigDecimal.ZERO)<=0){
                    bean.setUseRata(BigDecimal.ZERO);
                    continue;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
@@ -49,11 +49,12 @@
    public Integer create(PlatformWaterGas platformWaterGas) {
        if(platformWaterGas.getTimeInfo() ==null || platformWaterGas.getNum()==null
        ||(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO) && StringUtils.isBlank(platformWaterGas.getCarCode()))){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该年月数据已存在,请勿重新录入,可以尝试搜索后进行数据修改!");
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,参数错误!");
        }
        if( platformWaterGasMapper.selectCount(new QueryWrapper<PlatformWaterGas>().lambda()
                .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
                .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(platformWaterGas.getTimeInfo()) +"')")
                .eq(PlatformWaterGas::getType,platformWaterGas.getType())
                .eq(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO),PlatformWaterGas::getCarCode,platformWaterGas.getCarCode()))>0){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该年月数据已存在,请勿重新录入,可以尝试搜索后进行数据修改!");
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsConfigServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,142 @@
package com.doumee.service.business.impl;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.SmsConfigMapper;
import com.doumee.dao.business.model.SmsConfig;
import com.doumee.service.business.SmsConfigService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
 * çŸ­ä¿¡ä¸šåŠ¡é…ç½®Service实现
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/09 15:41
 */
@Service
public class SmsConfigServiceImpl implements SmsConfigService {
    @Autowired
    private SmsConfigMapper smsConfigMapper;
    @Override
    public Integer create(SmsConfig smsConfig) {
        smsConfigMapper.insert(smsConfig);
        return smsConfig.getId();
    }
    @Override
    public void deleteById(Integer id) {
        smsConfigMapper.deleteById(id);
    }
    @Override
    public void delete(SmsConfig smsConfig) {
        UpdateWrapper<SmsConfig> deleteWrapper = new UpdateWrapper<>(smsConfig);
        smsConfigMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        smsConfigMapper.deleteBatchIds(ids);
    }
    @Override
    public void updateById(SmsConfig smsConfig) {
        smsConfigMapper.updateById(smsConfig);
    }
    @Override
    public void updateByIdInBatch(List<SmsConfig> smsConfigs) {
        if (CollectionUtils.isEmpty(smsConfigs)) {
            return;
        }
        for (SmsConfig smsConfig: smsConfigs) {
            this.updateById(smsConfig);
        }
    }
    @Override
    public SmsConfig findById(Integer id) {
        return smsConfigMapper.selectById(id);
    }
    @Override
    public SmsConfig findOne(SmsConfig smsConfig) {
        QueryWrapper<SmsConfig> wrapper = new QueryWrapper<>(smsConfig);
        return smsConfigMapper.selectOne(wrapper);
    }
    @Override
    public List<SmsConfig> findList(SmsConfig smsConfig) {
        QueryWrapper<SmsConfig> wrapper = new QueryWrapper<>(smsConfig);
        return smsConfigMapper.selectList(wrapper);
    }
    @Override
    public PageData<SmsConfig> findPage(PageWrap<SmsConfig> pageWrap) {
        IPage<SmsConfig> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<SmsConfig> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(SmsConfig::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(SmsConfig::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(SmsConfig::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(SmsConfig::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEdirot() != null) {
            queryWrapper.lambda().eq(SmsConfig::getEdirot, pageWrap.getModel().getEdirot());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(SmsConfig::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(SmsConfig::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(SmsConfig::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(SmsConfig::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(SmsConfig::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getCode() != null) {
            queryWrapper.lambda().eq(SmsConfig::getCode, pageWrap.getModel().getCode());
        }
        if (pageWrap.getModel().getContent() != null) {
            queryWrapper.lambda().eq(SmsConfig::getContent, pageWrap.getModel().getContent());
        }
        if (pageWrap.getModel().getObjType() != null) {
            queryWrapper.lambda().eq(SmsConfig::getObjType, pageWrap.getModel().getObjType());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(smsConfigMapper.selectPage(page, queryWrapper));
    }
    @Override
    public long count(SmsConfig smsConfig) {
        QueryWrapper<SmsConfig> wrapper = new QueryWrapper<>(smsConfig);
        return smsConfigMapper.selectCount(wrapper);
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -109,10 +109,10 @@
        smsEmail.setType(Constants.ZERO);
        smsEmail.setTitle("短信验证码");
        smsEmail.setContent(content);
        smsEmail.setObjType(Constants.ZERO+"");
        smsEmailMapper.insert(smsEmail);
        return smsEmail.getId();
    }
@@ -249,4 +249,27 @@
        QueryWrapper<SmsEmail> wrapper = new QueryWrapper<>(smsEmail);
        return smsEmailMapper.selectCount(wrapper);
    }
    public static void sendBusiness(EmayService emayService ,SmsEmailMapper smsEmailMapper ,List<String> phoneList,String objType,String content,Integer objId){
        //TODO æ˜¯å¦å‘送短信
        for (String phone:phoneList) {
            boolean result=   emayService.sendSingleSms(phone,content);
            if(!result){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,短信验证码发送失败,请稍后重试!");
            }
            SmsEmail smsEmail = new SmsEmail();
            smsEmail.setIsdeleted(Constants.ZERO);
            smsEmail.setCreateDate(new Date());
            smsEmail.setStatus(Constants.ONE);
            smsEmail.setType(Constants.ZERO);
            smsEmail.setTitle("业务短信");
            smsEmail.setContent(content);
            smsEmail.setObjType(objType);
            smsEmail.setObjId(objId);
            smsEmailMapper.insert(smsEmail);
        }
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -116,6 +116,14 @@
        return  null;
    }
    @Override
    public  void startDealPlatformEventImg(){
    }
    @Override
    public  void   startDealMemberImg(){
    }
    @Override
    public  void syncUserData(LoginUserInfo user){
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
@@ -17,6 +17,7 @@
import org.springframework.stereotype.Service;
import java.io.*;
import java.net.URL;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -67,7 +68,8 @@
        return  null;
    }
    private void startDealMemberImg() {
    @Override
    public void startDealMemberImg() {
        List<Member> list = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                .eq(Member::getIsdeleted,Constants.ZERO)
                .likeRight(Member::getFaceImg, HKConstants.IMG_INDEX));
@@ -96,7 +98,8 @@
        }
    }
    private void startDealPlatformEventImg() {
    @Override
    public void startDealPlatformEventImg() {
        List<PlatformEvent> list = platformEventMapper.selectList(new QueryWrapper<PlatformEvent>().lambda()
                .eq(PlatformEvent::getIsdeleted,Constants.ZERO)
                .isNotNull(PlatformEvent::getBackgroundImageContent)
@@ -285,7 +288,14 @@
            is = HKService.getFaceInputStream(param);
        }else if(StringUtils.equals(folder_code,Constants.PLATFORM_EVENT_IMG)){
            //月台事件图片
            is = HttpsUtil.connectionInputsteam(img1,"GET",null,null);
            log.info("月台图片下载开始:=========================="+img1);
            try {
                is = new URL(img1).openStream();
//                is = HttpsUtil.connectionInputsteam(img1,"GET",null,null);
            }catch (Exception e){
                e.printStackTrace();
                log.error("月台图片下载失败:=========================="+img1+"\n"+e.getMessage());
            }
        }
        if(is ==null){
            return  null;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
@@ -28,15 +28,11 @@
    @PostConstruct
    public  int  initHkConfig(){
        if(StringUtils.isBlank(ArtemisConfig.appKey )
                ||StringUtils.isBlank(ArtemisConfig.host )
                ||StringUtils.isBlank(ArtemisConfig.appSecret )
        ){
            ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
            ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
            ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
            HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
        }
        HKTools.interfaceLogService=interfaceLogService;
        return  0;
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1082,8 +1082,7 @@
            platformBroadcastLogMapper.insert(logList);
        }
    }
    private PlatformBroadcastLog dealBroadcastBiz(PlatformJob model, List<String> broadcastList,String bNames) {
    public static PlatformBroadcastLog dealBroadcastBiz(PlatformJob model, List<String> broadcastList,String bNames) {
        PlatformBroadcastLog log = new PlatformBroadcastLog();
        String content1 =Constants.PlatformBroadcastContent.WRONG_IN.getInfo();
        content1 = content1.replace("${param}",model.getCarCodeFront());