doum
2025-12-11 01a9bdffee1f04561b3b59406cbb7a76474c55f3
Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
已修改13个文件
302 ■■■■ 文件已修改
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
@@ -12,8 +12,13 @@
    private String linkPhone;
    //设备ID
    private String devId;
    //是否双重验证 0否 1是
    private int doubleAuth;
    //酒精检测开启:0=开启;1=关闭
    private int  alcoholStatus;
    //主键
    private Integer id;
    //备注
@@ -113,4 +118,12 @@
    public void setActivateFileUrl(String activateFileUrl) {
        this.activateFileUrl = activateFileUrl;
    }
    public int getAlcoholStatus() {
        return alcoholStatus;
    }
    public void setAlcoholStatus(int alcoholStatus) {
        this.alcoholStatus = alcoholStatus;
    }
}
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
@@ -297,7 +297,14 @@
                //司机ic卡成功
                if(flag==0) {
                    //取
                    if(MApplication.getConfigBean()!=null&&MApplication.getConfigBean().getAlcoholStatus()==1) {
                        //非酒精检测
                        startActivity(KeyCabinetActivity.class);
                        finish();
                    }else {
                        //酒精检测
                    statusFsm(4);
                    }
                }else {
                    //还
                    startActivity(KeyCabinetActivity.class);
@@ -651,7 +658,14 @@
                            MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
                            MApplication.getLoginBean().setAuthType(0);
                            //handler.sendEmptyMessageDelayed(8,0);
                            if(MApplication.getConfigBean()!=null&&MApplication.getConfigBean().getAlcoholStatus()==1) {
                                //非酒精检测
                                startActivity(KeyCabinetActivity.class);
                                finish();
                            }else {
                                //酒精检测
                            EventBus.getDefault().post(new FaceStatusChangeEvent(4));
                            }
                        }else if(status==7){
                            //还-司机
                            MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
@@ -2,12 +2,18 @@
import androidx.annotation.Nullable;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.baidu.idl.main.facesdk.FaceAuth;
import com.baidu.idl.main.facesdk.callback.Callback;
@@ -68,6 +74,8 @@
        getDB().accreditOffBtn.setOnClickListener(this);
        getDB().btnDown.setOnClickListener(this);
        setupDownloadManager();
        setupDownloadReceiver();
    }
    @Subscribe
@@ -127,19 +135,7 @@
                }
                if(!TextUtils.isEmpty(MApplication.getConfigBean().getActivateFileUrl())){
                    isDownLoad = true;
                    FileUtil.downLoadFile(filePath, MApplication.getConfigBean().getActivateFileUrl(), new FileUtil.DownLoadCallBack() {
                        @Override
                        public void sucess() {
                            ToastView.show(MApplication.mContext,"下载成功");
                            isDownLoad = false;
                        }
                        @Override
                        public void err(String e) {
                            ToastView.show(MApplication.mContext,e);
                            isDownLoad = false;
                        }
                    });
                    startDownload(MApplication.getConfigBean().getActivateFileUrl());
                }
                break;
            // 离线激活
@@ -186,5 +182,52 @@
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (downloadReceiver != null) {
            unregisterReceiver(downloadReceiver);
        }
    }
    private BroadcastReceiver downloadReceiver;
    private DownloadManager downloadManager;
    private long downloadId;
    private void setupDownloadManager() {
        downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
    }
    private void startDownload(String url) {
        try {
            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
            // 设置下载参数
            request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
            request.setTitle("文件下载");
            request.setDescription("正在下载文件...");
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
            request.setDestinationInExternalPublicDir("", "License.zip");
            // 开始下载
            downloadId = downloadManager.enqueue(request);
            Toast.makeText(mContext, "下载已开始", Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            isDownLoad = false;
            Toast.makeText(this, "下载失败: " + e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }
    private void setupDownloadReceiver() {
        downloadReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive (Context context, Intent intent){
                long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
                if (id == downloadId) {
                    isDownLoad = false;
                    Toast.makeText(context, "文件下载完成", Toast.LENGTH_LONG).show();
                }
            }
        };
        registerReceiver(downloadReceiver,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
    }
}
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
@@ -1305,7 +1305,7 @@
            getVM().addInfo(e.getMsg());
        }
    }
    private long lastCloseDoorTime;
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void CLGridEvent(CLGridEvent e){
        if(!isFinishing()){
@@ -1378,6 +1378,7 @@
                String open = data.substring(6,8);
                String key = bh+tdh;
                CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
                lastCloseDoorTime = System.currentTimeMillis();
                if(gridDo!=null){
                    gridDo.setIsOpen("00".equals(open)?1:0);
                    gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
@@ -1542,10 +1543,10 @@
                    }else {
                        gridDo.setCurKeyCode("");
                    }
                    if("0101".equals(key)) {
                    /*if("0101".equals(key)) {
                        getVM().addInfo(key+" , "+isHaveKey+"  "+keyCode);
                        getVM().addInfo(key + "设置钥匙:" + gridDo.getCurKeyCode());
                    }
                    }*/
                    gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
                    updateList.add(gridDo);
                }
keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml
@@ -191,7 +191,7 @@
                    android:layout_below="@+id/accredit_setTv"
                    android:layout_marginTop="20dp"
                    android:gravity="center"
                    android:textColor="@color/white" />
                    android:textColor="@color/black" />
                <View
                    android:id="@+id/aaccredit_view"
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java
@@ -90,7 +90,7 @@
    //@ExcelColumn(name="推送时间")
    private Date pushDate;
    @ApiModelProperty(value = "推送方式 0钉钉通知", example = "1")
    @ApiModelProperty(value = "推送方式 0钉钉通知 1设备推送", example = "1")
    //@ExcelColumn(name="推送方式 0钉钉通知")
    private Integer pushType;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -54,6 +54,8 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
    @Autowired
    private InterfaceLogMapper interfaceLogMapper;
    @Override
@@ -279,9 +281,9 @@
        String input = "";
        model.setSendInfo(param.getSendInfo());
        return  sendBroadcaseBobaoHttpBiz(model);
        return  sendBroadcaseBobaoHttpBiz(model,interfaceLogMapper);
    }
    public static String sendBroadcaseBobaoHttpBiz(Device model){
    public static String sendBroadcaseBobaoHttpBiz(Device model,InterfaceLogMapper interfaceLogMapper){
        //重新下发计划
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("command","start");
@@ -298,8 +300,27 @@
        log.error("========海康广播播放入参内容 : " + params);
        String result = HttpsUtil.doPutHk(model.getIp(),Integer.parseInt(StringUtils.defaultString(model.getPort(),"80")),model.getDoorId(), model.getDoorName()
                ,"/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json",params);
        log.error("========海康广播播放返回内容 : " + result);
        JSONObject resultJson = JSONObject.parseObject(result);
        Boolean success = false;
        if(Constants.equalsInteger(resultJson.getInteger("statusCode"),Constants.ONE)){
            success = true;
        }
        InterfaceLog log = new InterfaceLog();
        log.setCreateDate(new Date());
        log.setUrl("/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json");
        log.setEditDate(log.getCreateDate());
        log.setPlat(Constants.ZERO);
        log.setName("海康广播播放");
        log.setIsdeleted(Constants.ZERO);
        log.setRequest(params);
        log.setType(Constants.ZERO);
        log.setSuccess(success?Constants.ZERO:Constants.ONE);
        log.setRepose(result);
        interfaceLogMapper.insert(log);
        return result;
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -64,6 +64,12 @@
    private WarningEventMapper warningEventMapper;
    @Autowired
    private DeviceMapper deviceMapper;
    @Autowired
    private InterfaceLogMapper interfaceLogMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
@@ -698,27 +704,43 @@
                        warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
                        );
                        //todo 暂时关闭 钉钉通知
                        if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                        //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                        }
                        warningPushMapper.insert(warningPush);
                        warningEvent.setStatus(Constants.ONE);
                        warningEventMapper.updateById(warningEvent);
                        this.sendDeviceNotice(warningRule);
                    }catch (Exception e){
                        warningEvent.setStatus(Constants.TWO);
                        warningEventMapper.updateById(warningEvent);
                    }
                }
            }
        }
                }
    public void sendDeviceNotice(WarningRule warningRule){
        if(Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ONE)&&StringUtils.isNotBlank(warningRule.getDeviceIds())&&StringUtils.isNotBlank(warningRule.getDeviceNoticeContent())){
            List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>()
                    .lambda()
                    .eq(Device::getStatus,Constants.ZERO)
                    .eq(Device::getId,Arrays.asList(warningRule.getDeviceIds().split(",")))
            );
            if(CollectionUtils.isNotEmpty(deviceList)){
                for (Device device:deviceList) {
                    device.setSendInfo(warningRule.getDeviceNoticeContent());
                    DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device,interfaceLogMapper);
                }
            }
        }
    }
    public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
   /* public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
        List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                .selectAll(WarningRuleDetail.class)
                .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
@@ -737,6 +759,9 @@
            List<Integer> resultList = new ArrayList<>();
            for (Integer ruleId:ruleIdSet) {
                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
                if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ZERO)&&Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ZERO)){
                    continue;
                }
                //查询其他规则信息
                List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                        .selectAll(WarningRuleDetail.class)
@@ -781,6 +806,84 @@
                    );
                    if(this.processWarnFlag(wList,warningEventList)){
                        resultList.add(ruleId);
                    }
                }
            }
            return resultList;
        }
        return new ArrayList<>();
    }*/
    public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
        List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                .selectAll(WarningRuleDetail.class)
                .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
                .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO)
                .eq(Warning::getIsdeleted,Constants.ZERO)
                .eq(Warning::getStatus,Constants.ONE)
                .eq(Warning::getCode,warningConfig.getKey())
        );
            if(CollectionUtils.isEmpty(warningRuleDetailList)){
            return new ArrayList<>();
        }
        //所有报警规则配置信息
        List<Integer> ruleIdList = warningRuleDetailList.stream().map(i->i.getRuleId()).collect(Collectors.toList());;
        Set<Integer> ruleIdSet = new HashSet<>(ruleIdList);
            if(CollectionUtils.isNotEmpty(ruleIdSet)){
            List<Integer> resultList = new ArrayList<>();
            for (Integer ruleId:ruleIdSet) {
                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
                //查询其他规则信息
                List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                        .selectAll(WarningRuleDetail.class)
                        .selectAs(Warning::getCode,WarningRuleDetail::getCode)
                        .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
                        .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO)
                        .eq(Warning::getIsdeleted,Constants.ZERO)
                        .eq(Warning::getStatus,Constants.ONE)
                        .eq(WarningRuleDetail::getRuleId,ruleId)
//                        .in(Warning::getCode,Constants.WarningConfig.ALARM_TEST.getKey(),
//                                Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey(),
//                                Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()
//                        )
                );
                //无任何规则 直接跳过
                if(CollectionUtils.isEmpty(warningRuleDetails)){
                    return resultList;
                }else if(!Constants.equalsInteger(warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList()).size(),Constants.ZERO)){
                    List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList());
                    //获取所有其他所有事件主键信息
                    List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList());
                    Set<Integer> setWarningIdList = new HashSet<>(warningIdList);
                    //获取时间内所有事件信息
                    List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda()
                            .eq(WarningEvent::getIsdeleted,Constants.ZERO)
                            .in(WarningEvent::getWarningId,setWarningIdList)
                            .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ")
                    );
                    if(this.processWarnFlag(wList,warningEventList)){
                        resultList.add(ruleId);
                    };
                }else{
                    List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList());
                    //获取本次事件主键信息
                    List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList());
                    Set<Integer> setWarningIdList = new HashSet<>(warningIdList);
                    if(Objects.isNull(warningRule.getIntervalSec())){
                        resultList.add(ruleId);
                    }else{
                        //获取时间内所有事件信息
                        List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda()
                                .eq(WarningEvent::getIsdeleted,Constants.ZERO)
                                .in(WarningEvent::getWarningId,setWarningIdList)
                                .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ")
                        );
                        if(this.processWarnFlag(wList,warningEventList)){
                            resultList.add(ruleId);
                        }
                    }
                } 
            }
@@ -907,13 +1010,16 @@
                    warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
                    );
                    //todo 暂时关闭 钉钉通知
                    if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
        //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                    }
                    warningPushMapper.insert(warningPush);
                    warningEvent.setStatus(Constants.ONE);
                    warningEventMapper.updateById(warningEvent);
                    this.sendDeviceNotice(warningRule);
                }catch (Exception e){
                    warningEvent.setStatus(Constants.TWO);
                    warningEventMapper.updateById(warningEvent);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -260,11 +260,14 @@
                            );
                            warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
                            );
                            // todo 暂时关闭 钉钉通知
                            if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                            //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                            //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                            //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                                //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
                            //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                            }
                            impl.sendDeviceNotice(warningRule);
                            warningPushMapper.insert(warningPush);
                            falg = true;
                        }catch (Exception e){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1549,7 +1549,8 @@
                .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus())
                .orderByAsc(Company::getSortnum)
                .orderByAsc(Position::getSortnum);
                .orderByAsc(Position::getSortnum)
                .orderByAsc(Member::getId);
//                .orderByAsc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getPinyin)
//                .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate);
        if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java
@@ -271,7 +271,7 @@
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCarCode()),ParkBook::getCarCode,pageWrap.getModel().getCarCode());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParksName()),Parks::getName,pageWrap.getModel().getParksName());
        queryWrapper.orderByDesc(ParkBook::getCreateDate);
        queryWrapper.orderByDesc(ParkBook::getCreateDate,ParkBook::getId);
        IPage<ParkBook> result = parkBookJoinMapper.selectJoinPage(page, ParkBook.class,queryWrapper);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
@@ -7,6 +7,8 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.dingTalk.DingTalk;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.EventSubRequest;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
@@ -294,7 +296,8 @@
        if(Constants.equalsInteger(model.getStatus(),param.getStatus())){
            return;
        }
        if(StringUtils.isNotBlank(param.getCode())&&Constants.equalsInteger(model.getType(),Constants.ZERO)||Constants.equalsInteger(model.getType(),Constants.ONE)){
        if(StringUtils.isNotBlank(model.getCode())&&(Constants.equalsInteger(model.getType(),Constants.ZERO)||Constants.equalsInteger(model.getType(),Constants.ONE))){
            EventSubRequest eventParam = new EventSubRequest();
            String path =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode();
            eventParam.setEventDest(path+"/notice");
@@ -305,11 +308,17 @@
            }
            HKService.cancelEventSub(eventParam);//先取消
            if(Constants.equalsInteger(param.getStatus(),Constants.ONE)){
                HKService.eventSub(eventParam);//安防事件
                BaseResponse response =  HKService.eventSub(eventParam);//安防事件
                if(Objects.nonNull(response)&&StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                    model.setSubscribeStatus(Constants.ONE);
                }else{
                    model.setSubscribeStatus(Constants.TWO);
                    model.setSubscribeInfo(response.getMsg());
                }
            }else{
                model.setSubscribeStatus(Constants.ZERO);
            }
        }
        model.setStatus(param.getStatus());
        model.setEditDate(new Date());
        model.setEditor(param.getLoginUserInfo().getId());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -482,7 +482,7 @@
            for(EventBaseInfoRequest request : events){
                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
                        .eq(Warning::getIsdeleted,Constants.ZERO)
                        .eq(Warning::getCode, request.getSrcType()).last("limit 1"));
                        .eq(Warning::getCode, request.getEventType()).last("limit 1"));
                Constants.WarningConfig warningConfig = Constants.WarningConfig.getConfig(request.getEventType());
                
@@ -501,12 +501,13 @@
                    warningEvent.setSrcIndex(request.getSrcIndex());
                    warningEvent.setSrcType(request.getSrcType());
                    warningEvent.setSrcName(request.getSrcName());
                    warningEvent.setWarningId(warning.getId());
                    warningEventMapper.insert(warningEvent);
                    if(Objects.nonNull(warningConfig)){
                        List<Integer> ruleIdList =  impl.processWarnFront(warningConfig);
                        Boolean falg = false;
                        Boolean falg = true;
                        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ruleIdList)){
                            for (Integer ruleId:ruleIdList) {
                                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
@@ -537,34 +538,28 @@
                                    );
                                    warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
                                    );
                                    // todo 暂时关闭 钉钉通知
                                    if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                                    //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                                    //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                                    //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                                        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
                                    //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                                    }
                                    impl.sendDeviceNotice(warningRule);
                                    warningPushMapper.insert(warningPush);
                                    falg = true;
                                }catch (Exception e){
                                    falg = false;
                                    warningEvent.setStatus(Constants.TWO);
                                    warningEventMapper.updateById(warningEvent);
                                }
                            }
                        }
                        if(falg){
                        if(!falg){
                            warningEvent.setStatus(Constants.ONE);
                            warningEventMapper.updateById(warningEvent);
                        }
                    }
                }
            }