k94314517
2024-12-25 0843f9b1526b7680f5cd419cf1f2d2fff44562ee
代码初始化
已添加1个文件
已修改16个文件
336 ■■■■■ 文件已修改
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/resources/mappers/SystemUserMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TemperatureHumidityDataResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmDataVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/MonitorParentDataVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | 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/PlatformJobServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
@@ -6,12 +6,15 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.model.Bookings;
import com.doumee.dao.business.model.SmsEmail;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.awt.print.Book;
import java.util.*;
/**
@@ -116,6 +119,113 @@
        }
    }
    public void createBeginWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){
        Map<String,Object> map = new HashMap<>();
        //整体参数map
        Map<String, Object> paramMap = new HashMap<String, Object>();
        //消息主题显示相关map
        Map<String, Object> dataMap = new HashMap<String, Object>();
        //会议名称
        Map<String, Object> thing1 = new HashMap<String,Object>();
        thing1.put("value",bookings.getName());
        //会议地点
        Map<String, Object> thing2 = new HashMap<String,Object>();
        thing2.put("value",bookings.getRoomName());
        //会议时间
        Map<String, Object> thing3 = new HashMap<String,Object>();
        thing3.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyyå¹´MM月dd日HH:mm")+"至"+DateUtil.getFomartDate(bookings.getEndTime(),"HH:mm"));
        Integer earlyMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.EARLY_START_WX_NOTICE).getCode());
        Map<String, Object> thing5 = new HashMap<String,Object>();
        thing5.put("value","您所预定的会议室即将在"+earlyMin+"分钟后开始,请准时参加");
        dataMap.put("thing1",thing1);
        dataMap.put("thing2",thing2);
        dataMap.put("thing3",thing3);
        dataMap.put("thing5",thing5);
        paramMap.put("data", dataMap);
        paramMap.put("template_id", "xGFnbHwe8W9sIGlD75XROrbKpzV-6HSRqfRHRfxRR6k");
        paramMap.put("touser", openId);
        paramMap.put("data", dataMap);
        smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
                .eq(SmsEmail::getObjType,Constants.FIVE.toString())
                .eq(SmsEmail::getStatus,Constants.TWO)
                .eq(SmsEmail::getType,Constants.TWO)
                .eq(SmsEmail::getObjId,bookings.getId())
        );
        SmsEmail smsEmail = new SmsEmail();
        smsEmail.setPhone(openId);
        smsEmail.setRemark("等待发送");
        smsEmail.setStatus(Constants.TWO);
        smsEmail.setIsdeleted(Constants.ZERO);
        smsEmail.setType(Constants.TWO);
        smsEmail.setObjType(Constants.FIVE.toString());
        smsEmail.setObjId(bookings.getId());
        smsEmail.setCreateDate(new Date());
        smsEmail.setTitle("会议即将开始提醒");
        smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getStartTime(),-earlyMin),"yyyy-MM-dd HH:mm:ss"));
        smsEmail.setContent(JSONObject.toJSONString(map));
    }
    public void createEndWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings,  String openId){
        Map<String,Object> map = new HashMap<>();
        //整体参数map
        Map<String, Object> paramMap = new HashMap<String, Object>();
        //消息主题显示相关map
        Map<String, Object> dataMap = new HashMap<String, Object>();
        //会议名称
        Map<String, Object> thing1 = new HashMap<String,Object>();
        thing1.put("value",bookings.getName());
        //会议地点
        Map<String, Object> thing6 = new HashMap<String,Object>();
        thing6.put("value",bookings.getRoomName());
        //会议时间
        Map<String, Object> date4 = new HashMap<String,Object>();
        date4.put("value", DateUtil.getFomartDate(bookings.getEndTime(),"yyyyå¹´MM月dd日HH:mm"));
        Map<String, Object> thing7 = new HashMap<String,Object>();
        thing7.put("value","您的会议即将结束,如需继续使用请即使续订");
        dataMap.put("thing1",thing1);
        dataMap.put("thing6",thing6);
        dataMap.put("date4",date4);
        dataMap.put("thing7",thing7);
        paramMap.put("data", dataMap);
        paramMap.put("template_id", "vdIPfwvDCrXOHgQnB6sdE1lGEsJm1oUURfLx6SoLdk0");
        paramMap.put("touser", openId);
        paramMap.put("data", dataMap);
        smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
                .eq(SmsEmail::getObjType,Constants.FIVE.toString())
                .eq(SmsEmail::getStatus,Constants.TWO)
                .eq(SmsEmail::getType,Constants.TWO)
                .eq(SmsEmail::getObjId,bookings.getId())
        );
        SmsEmail smsEmail = new SmsEmail();
        smsEmail.setPhone(openId);
        smsEmail.setRemark("等待发送");
        smsEmail.setStatus(Constants.TWO);
        smsEmail.setIsdeleted(Constants.ZERO);
        smsEmail.setType(Constants.TWO);
        smsEmail.setObjType(Constants.FIVE.toString());
        smsEmail.setObjId(bookings.getId());
        smsEmail.setCreateDate(new Date());
        smsEmail.setTitle("会议即将开始提醒");
        Integer endMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.OVER_NOTICE_WX).getCode());
        smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getEndTime(),-endMin),"yyyy-MM-dd HH:mm:ss"));
        smsEmail.setContent(JSONObject.toJSONString(map));
    }
    /**
     * ä¼šè®®å®¤å–消通知
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -155,6 +155,16 @@
            this.sendNotice(bookings, MeetConstants.TWO);
            SystemUser systemUser = systemUserMapper.selectById(user.getId());
            this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
            //创建会议即将到期与会议即将结束的通知
            if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.createBeginWxNotice(systemDictDataBiz,smsEmailMapper,bookings,systemUser.getOpenid());
                wxPlatNotice.createEndWxNotice(systemDictDataBiz,smsEmailMapper,bookings,systemUser.getOpenid());
            }
        }
        return bookings.getId();
@@ -399,6 +409,11 @@
            this.sendNotice(bookings, MeetConstants.TWO);
            SystemUser systemUser = systemUserMapper.selectById(bookings.getCreator());
            this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
            if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.createBeginWxNotice(systemDictDataBiz,smsEmailMapper,bookings,systemUser.getOpenid());
                wxPlatNotice.createEndWxNotice(systemDictDataBiz,smsEmailMapper,bookings,systemUser.getOpenid());
            }
        }
    }
@@ -1391,6 +1406,7 @@
                    smsEmail.setStatus(Constants.TWO);//
                    smsEmail.setIsdeleted(Constants.ZERO);
                    smsEmail.setType(Constants.ZERO);
                    smsEmail.setObjType(Constants.FIVE.toString());
                    smsEmail.setObjId(bookings.getId());
                    smsEmail.setCreateDate(new Date());
                    smsEmail.setTitle("会议室申请参会通知");
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -102,7 +102,27 @@
        try {
            ServerHttpRequest request = serverWebExchange.getRequest();
            dto.setCheckCode(false);
            LoginUserInfo user = systemLoginService.loginByPasswordNew(dto,request);
            LoginUserInfo user =  systemLoginService.loginByPasswordNew(dto,request);
            String token = jwtTokenUtil.generateToken(user);
            return ApiResponse.success(token);
        }catch (BusinessException e){
            return ApiResponse.failed(e.getCode(),e.getMessage());
        }catch (Exception e){
            e.printStackTrace();
            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
        }
    }
    @PreventRepeat(limit = 10, lockTime = 10000)
    @ApiOperation("PDA业务登录")
    @PostMapping("/loginPDA")
    @LoginNoRequired
    public ApiResponse<String> loginPDA (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
        try {
            ServerHttpRequest request = serverWebExchange.getRequest();
            dto.setCheckCode(false);
            LoginUserInfo user = systemLoginService.loginByPasswordForPda(dto,request);
            String token = jwtTokenUtil.generateToken(user);
            return ApiResponse.success(token);
        }catch (BusinessException e){
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -158,6 +158,9 @@
    public static final String CITY_XH_REASON_ID ="CITY_XH_REASON_ID" ;
    public static final String ATWL_XH_PLATFORM_ID ="ATWL_XH_PLATFORM_ID" ;
    public static final String SCREEN_SEVENT_ARRIVAL_STARTDATE = "SCREEN_SEVENT_ARRIVAL_STARTDATE";
    public static final String EARLY_START_WX_NOTICE = "EARLY_START_WX_NOTICE";
    public static final String OVER_NOTICE_WX = "OVER_NOTICE_WX";
    public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
    public static  boolean DEALING_HK_SYNCDEVICE = false;
    public static  boolean DEALING_HK_SYNCPLATFORM = false;
server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
@@ -78,8 +78,8 @@
    @ExcelColumn(name="状态 0未使用 1已使用 2等待发送")
    private Integer status;
    @ApiModelProperty(value = "类型 0短信 1邮件 ")
    @ExcelColumn(name="类型 0短信 1邮件")
    @ApiModelProperty(value = "类型 0短信 1邮件 2微信公众号通知")
    @ExcelColumn(name="类型 0短信 1邮件 2微信公众号通知")
    private Integer type;
    @ApiModelProperty(value = "关联对象编码", example = "1")
server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
@@ -24,6 +24,8 @@
    LoginUserInfo loginByPasswordNew (LoginDTO dto, ServerHttpRequest request);
    LoginUserInfo loginByPasswordForPda(LoginDTO dto, ServerHttpRequest request);
    LoginUserInfo loginByPhone(LoginPhoneDTO dto, ServerHttpRequest request);
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -182,6 +182,56 @@
        return  userInfo;
    }
    @Override
    public LoginUserInfo loginByPasswordForPda(LoginDTO dto, ServerHttpRequest request) {
        SystemLoginLog loginLog = new SystemLoginLog();
        loginLog.setLoginUsername(dto.getUsername());
        loginLog.setLoginTime(new Date());
        loginLog.setSystemVersion(systemVersion);
//        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
        if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
            loginLog.setIp(Utils.User_Client.getIP(request));
            loginLog.setPlatform(Utils.User_Client.getPlatform(request));
            loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
            loginLog.setOsInfo(Utils.User_Client.getOS(request));
        }
        loginLog.setServerIp(Utils.Server.getIP());
        // æ ¹æ®ç”¨æˆ·åæŸ¥è¯¢ç”¨æˆ·å¯¹è±¡
        SystemUser queryDto = new SystemUser();
        queryDto.setUsername(dto.getUsername());
        queryDto.setDeleted(Boolean.FALSE);
        SystemUser user = systemUserService.findOne(queryDto);
        if (user == null) {
            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
        }
        if(!Constants.equalsInteger(user.getSource(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
        }
        String pwd = Utils.Secure.encryptPassword(new String(dto.getPassword()), user.getSalt());
        // æ¯”较密码
        if( !StringUtils.equals(pwd, user.getPassword())){
            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
        }
        dealOpenIdBiz(user,dto.getOpenid());
        Company company = new Company();
        if(Objects.nonNull(user.getCompanyId())){
            company = companyMapper.selectById(user.getCompanyId());
        }
        // èŽ·å–ç™»å½•ç”¨æˆ·ä¿¡æ¯
        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
        SystemRole rt = new SystemRole();
        rt.setDeleted(Boolean.FALSE);
        //数据部门权限集合
        user.setCompanyIdList(systemDataPermissionService.selectHighRole(new SystemDataPermission(),rt,user));
        LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions,company,null);
        return  userInfo;
    }
    private void dealOpenIdBiz(SystemUser user, String openid) {
        if(StringUtils.isNotBlank(openid)){
            //如果openId不为空,绑定该用户openid
server/system_service/src/main/resources/mappers/SystemUserMapper.xml
@@ -69,6 +69,9 @@
      <if test="dto.memberType != null ">
        AND  usr.`type` = #{dto.memberType}
      </if>
      <if test="dto.memberType != null ">
        AND  usr.`type` = #{dto.memberType}
      </if>
      <if test="dto.workStatus != null ">
        AND  m.WORK_STATUS = #{dto.workStatus}
      </if>
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
@@ -53,8 +53,6 @@
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("运输任务分析")
    @GetMapping("/transportMeasure")
@@ -65,6 +63,7 @@
        List<TransportMeasureVO> list = boardService.transportMeasure(queryType);
        return ApiResponse.success(list);
    }
    @LoginNoRequired
    @ApiOperation("汽车状态、经纬度集合数据")
    @GetMapping("/carsList")
@@ -72,6 +71,7 @@
        BoardCarsListVO data = boardService.platformJobCarsList();
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("汽车告警事件集合数据")
    @GetMapping("/carsEventList")
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TemperatureHumidityDataResponse.java
@@ -20,7 +20,7 @@
 private String  indexCode    ;//String    false
 @ApiModelProperty(value = "类型:temp æ¸©åº¦  humidity æ¹¿åº¦")
 @ApiModelProperty(value = "类型:currTemperature æ¸©åº¦  currHumidity æ¹¿åº¦")
 private String  sensorType    ;//String    false
 private String  parentIndexCode    ;//String    false
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -643,7 +643,26 @@
    }
    public void  sendMeetTemplateNotice(SystemDictDataBiz systemDictDataBiz,SmsEmail smsEmail,String token){
        try{
                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
                        Constants.WxUrlParams.MEETING,smsEmail.getObjId().toString());
                String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
                JSONObject jsonObject = JSONObject.parseObject(smsEmail.getContent());
                jsonObject.put("url",jumpUrl);
                String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(jsonObject));
                log.warn("·==++--·推送微信模板信息内容:{}", JSONObject.toJSONString(jsonObject));
                if(StringUtils.isBlank(response)){
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", "失败");
                }else{
                    JSONObject json = JSONObject.parseObject(response);
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg"));
                }
        }catch (Exception e){
        }
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmDataVO.java
@@ -12,7 +12,6 @@
@Data
public class AlarmDataVO {
    @ApiModelProperty(value = "总数")
    private Integer totalNum;
@@ -27,8 +26,10 @@
    @ApiModelProperty(value = "处理中数量")
    private Integer processingNum;
    @ApiModelProperty(value = "统计时间开始")
    private String  startDate;
    @ApiModelProperty(value = "统计时间结束")
    private String  endDate;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/MonitorParentDataVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.doumee.dao.web.response.platformReport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * æœ¬å¹´æ¶ˆé˜²è®¾å¤‡/设施维护情况
 *
 * @Author : Rk
 * @create 2024/10/25 14:26
 */
@Data
public class MonitorParentDataVO {
    @ApiModelProperty(value = "左侧数据")
    private MonitorDataVO leftData;
    @ApiModelProperty(value = "右侧数据")
    private MonitorDataVO rightData;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -443,6 +443,16 @@
                .eq(Approve::getObjId,revokeDTO.getId())
        );
        noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
                .set(Notices::getEditDate,new Date())
                .set(Notices::getInfo,"物流车预约申请取消")
                .set(Notices::getReaded,Constants.ONE)
                .set(Notices::getParam2,Constants.TWO)
                .set(Notices::getStatus,Constants.ONE)
                .eq(Notices::getType,Constants.noticesObjectType.reason)
                .eq(Notices::getObjId,model.getId())
        );
        //发送短信通知
        SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
                emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,model.getId(),
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -517,6 +517,14 @@
                .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                .eq(PlatformJob::getDrivierPhone,loginUserInfo.getMobile())
                .and(i->i.like(PlatformJob::getDoneDate,DateUtil.getCurrDate())
                        .or().in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
                                ,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),
                                Constants.PlatformJobStatus.WART_SIGN_IN.getKey(),
                                Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                Constants.PlatformJobStatus.CALLED.getKey(),
                                Constants.PlatformJobStatus.WORKING.getKey())
                )
                .orderByDesc(PlatformJob::getId)
        );
        for (PlatformJob platformJob:platformJobList) {
@@ -527,7 +535,6 @@
        }
        driverHomeVO.setPlatformJobList(platformJobList);
        // å›­åŒºå¯¼è§ˆå›¾  å›¾ç‰‡
        driverHomeVO.setReservationMap(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_GUIDEMAP).getCode());
        // é¢„约指南 æ–‡æœ¬
@@ -737,6 +744,7 @@
                                ,PlatformJob::getId,lineUpDetailDTO.getJobId())
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                Constants.PlatformJobStatus.WORKING.getKey(),
                                Constants.PlatformJobStatus.CALLED.getKey())
                        .orderByDesc(PlatformJob::getStatus)
                        .orderByAsc(PlatformJob::getSignDate)
@@ -909,6 +917,9 @@
        }
    }
    private Logger logger = LoggerFactory.getLogger(PlatformJobServiceImpl.class);
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -11,6 +11,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.*;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
@@ -91,7 +92,7 @@
    @Override
    public Integer sendSms(SmsEmail smsEmail) {
        if(StringUtils.isBlank(smsEmail.getPhone())){
        if(StringUtils.isBlank(smsEmail.getPhone()) || smsEmail.getPhone().length() != 11 ){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd HH:mm:ss");
@@ -267,18 +268,32 @@
        List<SmsEmail> smsEmails = smsEmailMapper.selectList(wrapper);
        if(smsEmails!=null && smsEmails.size()>0){
            for(SmsEmail model : smsEmails){
                if(model.getPhone() == null){
                    model.setStatus(Constants.THREE);//发送失败
                    model.setRemark("手机号为空,取消任务发送!");
                }else{
                    try {
                        emayService.sendSmsByHk(model.getPhone(),model.getContent());
                        model.setStatus(Constants.ONE);//发送成功
                        model.setRemark("短信任务发送成功");
                    }catch (Exception e){
                if(Constants.equalsInteger(model.getType(),Constants.ONE)){
                    if(model.getPhone() == null){
                        model.setStatus(Constants.THREE);//发送失败
                        model.setRemark("短信任务发送失败!"+e.getMessage());
                        model.setRemark("手机号为空,取消任务发送!");
                    }else{
                        try {
                            emayService.sendSmsByHk(model.getPhone(),model.getContent());
                            model.setStatus(Constants.ONE);//发送成功
                            model.setRemark("短信任务发送成功");
                        }catch (Exception e){
                            model.setStatus(Constants.THREE);//发送失败
                            model.setRemark("短信任务发送失败!"+e.getMessage());
                        }
                    }
                }else if(Constants.equalsInteger(model.getType(),Constants.TWO)){
                    if(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",model.getInfo()).getTime() < System.currentTimeMillis()){
                        WxPlatNotice wxPlatNotice = new WxPlatNotice();
                        wxPlatNotice.sendMeetTemplateNotice(systemDictDataBiz,model,systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode());
                        model.setStatus(Constants.ONE);//发送成功
                        model.setRemark("微信通知发送成功");
                    }else{
                        model.setStatus(Constants.THREE);//发送成功
                        model.setRemark("微信通知发送失败");
                    }
                }else{
                    continue;
                }
                model.setEditDate(new Date());
                smsEmailMapper.updateById(model);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1271,7 +1271,13 @@
                            temperatureHumidityDataResponseList.stream().filter(i->i.getIndexCode().indexOf(code)>=Constants.ZERO).collect(Collectors.toList());
                    TemperatureHumidityDataVO temperatureHumidityDataVO = new TemperatureHumidityDataVO();
                    for (TemperatureHumidityDataResponse data:dateList) {
                        if(data.getSensorType().equals("temp")){
                        if(StringUtils.isNotBlank(data.getName())){
                            Integer index = data.getName().indexOf("-");
                            if(index>=0){
                                data.setName(data.getName().substring(0,index));
                            }
                        }
                        if(data.getSensorType().equals("currTemperature")){
                            temperatureHumidityDataVO.setTemperatureData(data);
                        }else{
                            temperatureHumidityDataVO.setHumidityData(data);
@@ -1783,11 +1789,13 @@
                    .select("( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.WORKING.getKey()+"  order by pl.CREATE_DATE desc  limit 1  ) as newStartDate")
                    //.select(" (  select sum(ifnull(pl.IO_QTY , 0 ))   from platform_wms_detail pl  where   pl.job_id = t.id and pl.isdeleted=0 )",PlatformJob::getWorkNum)
                    .select(" (  case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end )",PlatformJob::getWorkNum)
                    .apply("to_days(t.create_date) = to_days(now())")
//                    .apply("to_days(t.create_date) = to_days(now())")
                    .eq(Platform::getIsdeleted, Constants.ZERO)
                    .in(PlatformJob ::getStatus,new Integer[]{Constants.PlatformJobStatus.WORKING.getKey(),Constants.PlatformJobStatus.CALLED.getKey() })
//                    .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                    .orderByDesc(PlatformJob::getStatus ));
                    .orderByDesc(PlatformJob::getStatus )
                    .orderByAsc(PlatformJob::getId )
            );
            //月台状态:0=作业中;1=空闲中;2=作业超时;3=叫号
            for(Platform model : platformList){
                PlatformWorkDataVO platformDurationVO = new PlatformWorkDataVO();