2024-5-23 设备管理-PC端报修-微信提醒 + open模块微信Post方法错误

master
A0010407 8 months ago
parent 80c65cc430
commit b777ca8e48

@ -8,6 +8,7 @@ import com.op.device.domain.EquEquipment;
import com.op.device.domain.EquFile;
import com.op.device.domain.EquRepairOrder;
import com.op.device.domain.EquTeamUser;
import com.op.system.api.domain.SysNoticeGroup;
import org.apache.ibatis.annotations.Param;
/**
@ -109,4 +110,7 @@ public interface EquRepairOrderMapper {
//联系方式
@DS("master")
EquTeamUser getRepairPhoneNumber(EquTeamUser equTeamUser);
//查询公告绑定的班组
List<SysNoticeGroup> getNoticesGroup(SysNoticeGroup noticeQo);
}

@ -4,7 +4,11 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.domain.BaseFileData;
import com.op.common.core.utils.DateUtils;
@ -14,6 +18,11 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.device.domain.*;
import com.op.device.mapper.*;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.dto.WechartDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.device.service.IEquRepairOrderService;
@ -35,6 +44,8 @@ import static com.op.common.core.web.domain.AjaxResult.success;
*/
@Service
public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private EquRepairOrderMapper equRepairOrderMapper;
@ -53,6 +64,9 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
@Autowired
private EquOrderMapper equOrderMapper;
@Autowired
private RemoteOpenService remoteOpenService;
/**
*
*
@ -161,6 +175,67 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
}
equRepairOrderMapper.insertBaseFileBatch(files);
}
//企业微信报修审核提醒
//发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
//id写死了
noticeQo.setNoticeId(10L);
List<SysNoticeGroup> notices = equRepairOrderMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> userCodes = notices.stream()
.map(SysNoticeGroup::getUserCode)
.collect(Collectors.toList());
for (SysNoticeGroup noticeDto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticeDto.getWxId());
String contentInfo = noticeDto.getNoticeContent();
//在前端填的时候,需要判空!!!!!!
contentInfo = contentInfo
.replace("${message}", "\n")
.replace("${equipmentCode}", equRepairOrder.getEquipmentCode()+"\n")
.replace("${orderCode}", equRepairOrder.getOrderCode()+"\n")
.replace("${orderDesc}", equRepairOrder.getOrderDesc()+"\n")
.replace("${orderBreakdownTime}", myFmt.format(equRepairOrder.getOrderBreakdownTime())+"\n")
.replace("${orderRepairmanName}", equRepairOrder.getOrderRepairmanName()+"\n")
;
//查询设备相关信息
//设备名称
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equRepairOrder.getEquipmentCode());
if(StringUtils.isNotEmpty(equ.getEquipmentName())){
contentInfo = contentInfo.replace("${equipmentName}", equ.getEquipmentName()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentName}", "无"+"\n");
}
//设备位置
if(StringUtils.isNotEmpty(equ.getEquipmentLocation())){
contentInfo = contentInfo.replace("${equipmentLocation}", equ.getEquipmentLocation()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentLocation}", "无"+"\n");
}
Pattern p= Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll("");
System.out.println(contentInfo);
wechart0.setText(contentInfo);
wecharts.add(wechart0);
}
logger.info("PC端报修企业微信提醒请求" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("PC端报修企业微信提醒结果" + JSONObject.toJSONString(wxresult));
}).start();
}
//发企业微信--------------------结束
}
return equRepairOrderMapper.insertEquRepairOrder(equRepairOrder);
}

@ -342,4 +342,17 @@
where source_id = #{sourceId}
</select>
<select id="getNoticesGroup" resultType="com.op.system.api.domain.SysNoticeGroup">
select sng.notice_id noticeId,
sn.notice_title noticeTitle,
sn.notice_type noticeType,
sn.notice_content noticeContent,
btu.user_name userCode,
btu.wx_id wxId
from sys_notice_group sng
left join sys_notice sn on sng.notice_id = sn.notice_id
left join base_team_user btu on sng.group_code = btu.team_code
where sng.notice_id = #{noticeId}
</select>
</mapper>

@ -510,7 +510,7 @@ public class OpenServiceImpl implements OpenService {
@Override
public AjaxResult sendWeChartMessage(List<WechartDTO> dtos) {
try {
String result = HttpUtils.sendPost(weChartUrl, JSON.toJSONString(dtos));
String result = HttpUtils.sendPostWechart(weChartUrl, JSON.toJSONString(dtos));
return success(result);
} catch (Exception e) {
e.printStackTrace();

Loading…
Cancel
Save