SendComplaintNotifyStaffAdapt.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.java110.job.adapt.complaint;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.java110.core.log.LoggerFactory;
  5. import com.java110.dto.complaint.ComplaintDto;
  6. import com.java110.dto.complaintTypeUser.ComplaintTypeUserDto;
  7. import com.java110.dto.system.Business;
  8. import com.java110.intf.store.IComplaintTypeUserV1InnerServiceSMO;
  9. import com.java110.intf.store.IComplaintV1InnerServiceSMO;
  10. import com.java110.job.adapt.DatabusAdaptImpl;
  11. import com.java110.job.adapt.Repair.MachineReturnRepairAdapt;
  12. import com.java110.job.msgNotify.MsgNotifyFactory;
  13. import com.java110.po.owner.RepairUserPo;
  14. import com.java110.utils.cache.MappingCache;
  15. import com.java110.utils.constant.MappingConstant;
  16. import com.java110.utils.util.ListUtil;
  17. import com.java110.utils.util.StringUtil;
  18. import org.slf4j.Logger;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Component;
  21. import java.util.List;
  22. /**
  23. * 投诉单推送消息给员工
  24. */
  25. @Component(value = "sendComplaintNotifyStaffAdapt")
  26. public class SendComplaintNotifyStaffAdapt extends DatabusAdaptImpl {
  27. private static Logger logger = LoggerFactory.getLogger(SendComplaintNotifyStaffAdapt.class);
  28. @Autowired
  29. private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl;
  30. @Autowired
  31. private IComplaintTypeUserV1InnerServiceSMO complaintTypeUserV1InnerServiceSMOImpl;
  32. @Override
  33. public void execute(Business business, List<Business> businesses) throws Exception {
  34. JSONObject data = business.getData();
  35. String complaintId = data.getString("complaintId");
  36. if (StringUtil.isEmpty(complaintId)) {
  37. return;
  38. }
  39. ComplaintDto complaintDto = new ComplaintDto();
  40. complaintDto.setComplaintId(complaintId);
  41. List<ComplaintDto> complaintDtos = complaintV1InnerServiceSMOImpl.queryComplaints(complaintDto);
  42. if (ListUtil.isNull(complaintDtos)) {
  43. return;
  44. }
  45. ComplaintTypeUserDto complaintTypeUserDto = new ComplaintTypeUserDto();
  46. complaintTypeUserDto.setTypeCd(complaintDtos.get(0).getTypeCd());
  47. List<ComplaintTypeUserDto> complaintTypeUserDtos = complaintTypeUserV1InnerServiceSMOImpl.queryComplaintTypeUsers(complaintTypeUserDto);
  48. if (ListUtil.isNull(complaintTypeUserDtos)) {
  49. return;
  50. }
  51. JSONObject content = new JSONObject();
  52. content.put("complaintName", complaintDtos.get(0).getComplaintName());
  53. content.put("orderId", complaintId);
  54. String wechatUrl = MappingCache.getValue(MappingConstant.URL_DOMAIN, "STAFF_WECHAT_URL");
  55. content.put("url", wechatUrl);
  56. for(ComplaintTypeUserDto tmpComplaintTypeUserDto:complaintTypeUserDtos) {
  57. MsgNotifyFactory.sendComplaintMsg(tmpComplaintTypeUserDto.getCommunityId(), tmpComplaintTypeUserDto.getStaffId(), content);
  58. }
  59. }
  60. }