123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583 |
- package com.iamberry.rst.controllers.mq;
- import com.iamberry.rst.controllers.sys.SysController;
- import com.iamberry.rst.core.cm.*;
- import com.iamberry.rst.core.fm.ComplaintDetectInfo;
- import com.iamberry.rst.core.order.ProductType;
- import com.iamberry.rst.core.sms.OrderMessage;
- import com.iamberry.rst.core.sms.SmsMessage;
- import com.iamberry.rst.core.sys.Admin;
- import com.iamberry.rst.faces.address.AddressService;
- import com.iamberry.rst.faces.cm.*;
- import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
- import com.iamberry.rst.faces.order.EfastOrderService;
- import com.iamberry.rst.faces.sms.MessageService;
- import com.iamberry.rst.faces.sms.SmsService;
- import com.iamberry.rst.faces.sys.SysConfigService;
- import com.iamberry.rst.faces.sys.SysService;
- import com.iamberry.rst.util.SmsConfig;
- import com.iamberry.rst.utils.EfastUtil;
- import com.iamberry.rst.core.tools.KuaiDi100;
- import com.iamberry.wechat.tools.ResponseJson;
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.InitializingBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.text.MessageFormat;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import static com.iamberry.rst.util.SmsConfig.*;
- @Component(value="mqTask")
- @Lazy(false)
- public class MQTask implements InitializingBean {
- private static Logger logger = LoggerFactory.getLogger(SysController.class);
- @Autowired
- private MessageService messageService;
- @Autowired
- private SmsService smsService;
- @Autowired
- private EfastOrderService efastOrderService;
- @Autowired
- private SalesOrderService salesOrderService;
- @Autowired
- private SysService sysService;
- @Autowired
- private AddressService addressService;
- @Autowired
- private CustomerService customerService;
- @Autowired
- private SysConfigService sysConfigService;
- @Autowired
- private KuaiDi100 kuaidi100;
- @Autowired
- private PostageAuthorityService postageAuthorityService;
- @Autowired
- private PostageService postageService;
- @Autowired
- private CompanyInfoService companyInfoService;
- @Autowired
- private ComplaintDetectInfoService complaintDetectInfoService;
- @Autowired
- private EfastUtil efastUtil;
- private Object lock = new Object();
- private Object lock1 = new Object();
- public void afterPropertiesSet() throws Exception {
- }
- //@Scheduled(cron = "*/10 * * * * ?")
- //@Scheduled(cron = "0 0 9,11,14,16,18,20 * * ? ")//推送时间分别为每天早上九点、中午十一点、下午三点、下午六点、晚上八点
- //@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
- // @Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次
- public void auditMessagePush(){
- logger.info("------------执行消息提醒,推送待处理订单短信 start-----------");
- List<SmsMessage> smsMessageList = messageService.listOrderMessages();
- if(smsMessageList != null && smsMessageList.size() > 0){
- //循环推送短信
- for(SmsMessage smsMessage : smsMessageList){
- ResponseJson json = smsService.sms(smsMessage.getTel(),smsMessage.getTypes(),smsMessage.getCounts());
- if(json.getReturnCode() == 200){
- logger.info("------------推送到+"+smsMessage.getTel()+"一条"+(smsMessage.getTypes() == 1?"待处理":"驳回")+"短信成功");
- //设置审核通过记录为无效
- if(smsMessage.getTypes() == 3){
- OrderMessage orderMessage = new OrderMessage();
- orderMessage.setMessageStatus(2);
- orderMessage.setMessageType(3);
- messageService.updateOrderMessageStatus(orderMessage);
- }
- }else{
- logger.info("------------推送到+"+smsMessage.getTel()+"一条"+(smsMessage.getTypes() == 1?"待处理":"驳回")+"短信失败"+json.getReturnMsg());
- }
- }
- }
- }
- /**
- * 批量同步百胜订单信息 -- 客诉系统 -- 作废
- * @throws Exception
- */
- //@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
- //@Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次
- //@Scheduled(cron = "*/10 * * * * ?")
- public void syncEfastOrderList() throws Exception {
- logger.info("---------------- 批量同步百胜订单开始 ---------------");
- int pageNo = 1;
- int pageSize = 20;
- boolean flag = false; //控制是否还需要获取百胜订单信息
- String date = "";
- synchronized (lock) {
- String configParameter = sysConfigService.getSysConfig(1);
- do {
- //批量获取百胜订单信息
- JSONObject obj = null;
- try{
- obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, configParameter);
- }catch (Exception e){
- logger.info("Efast订单获取失败,失败原因:"+e.getMessage());
- }
- if (obj == null) {
- return;
- }
- int totalResults = obj.getInt("total_results"); //百胜返回总页数
- if (pageNo < totalResults) {
- flag = true;
- pageNo++;
- } else {
- flag = false;
- }
- salesOrderService.addSalesOrderList(obj);
- } while (flag); //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页
- }
- logger.info("---------------- 批量同步百胜订单结束 ---------------");
- }
- /**
- * 同步百胜订单状态等信息----客诉系统 -- 作废
- * @throws Exception
- */
- //@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
- // @Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次
- //@Scheduled(cron = "*/10 * * * * ?")
- public void syncEfastOrderStatus() throws Exception {
- int pageNo = 1;
- int pageSize = 20;
- boolean flag = false; //控制是否还需要获取百胜订单信息
- /*int returnPageNo = 1;
- int returnPageSize = 20;
- boolean returnFlag = false; //控制是否还需要获取百胜退单信息*/
- synchronized (lock1) {
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date beginDate = new Date();
- SalesOrder order = new SalesOrder();
- Calendar date = Calendar.getInstance();
- //获取同步百胜订单的开始时间
- String configParameter = sysConfigService.getSysConfig(2); //获取客诉订单同步百胜订单状态时间间隔
- date.setTime(beginDate);
- date.set(Calendar.DATE, date.get(Calendar.DATE) - Integer.valueOf(configParameter));
- order.setStartDate(format.parse(format.format(date.getTime())));
- order.setSalesCreateTime(format.parse(format.format(date.getTime())));
- //根据创建时间获取订单信息
- List<SalesOrder> orderlist = salesOrderService.listSalesOrder(order);
- logger.info("需要同步订单状态的订单有:" + orderlist.size() + "个;");
- if (orderlist == null || orderlist.size() == 0) {
- return;
- }
- do {
- //批量获取百胜订单信息
- JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, format.format(order.getSalesCreateTime()));
- if (obj == null) {
- return;
- }
- JSONArray orderList = obj.getJSONArray("list");
- if (orderList == null || orderList.size() == 0) {
- return;
- }
- salesOrderService.updateOrderList(orderList, orderlist);
- int totalResults = obj.getInt("total_results"); //百胜返回总页数
- if (pageNo < totalResults) {
- flag = true;
- pageNo++;
- } else {
- flag = false;
- }
- } while (flag); //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页
- //无法实现获取退单信息,只能查出已确认未收货的订单
- /*do {
- //批量获取百胜退单信息
- JSONObject obj = efastOrderService.listReturnOrderFormEfast(returnPageNo, returnPageSize, format.format(date.getTime()));
- if (obj == null) {
- return;
- }
- JSONArray orderList = obj.getJSONArray("list");
- System.out.println("orderList="+orderList);
- if (orderList == null || orderList.size() == 0) {
- return;
- }
- salesOrderService.updateReturnOrderList(orderList, orderlist);
- int totalResults = obj.getInt("total_results"); //百胜返回总页数
- if (returnPageNo < totalResults) {
- returnFlag = true;
- returnPageNo++;
- } else {
- returnFlag = false;
- }
- } while (returnFlag); //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页*/
- }
- }
- /**客诉系统 自动追踪发货信息**/
- // @Scheduled(cron = "0 0/30 * * * ?")//每30分钟执行一次
- /*@Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次*/
- // public void synchronousDelivery()throws Exception{
- //
- //
- // /*同步维修订单*/
- // Repair repair = new Repair();
- // List<Repair> listRepair = repairService.listSynchronizingRepair(repair);
- // if(listRepair.size() > 0){
- // for(Repair re:listRepair){
- // JSONObject respData = efastOrderService.getOrderFormEfastByOrderId(re.getRepairBackEfastOrderId());
- // EfastOrder efastOrder = efastUtil.respDataConversion(respData);
- // if(efastOrder == null){
- // return;
- // }
- // if (efastOrder.getOrderStatus() == 1){//1代表已发货 发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
- // re.setRepairSendName(efastOrder.getOrderAddressName());
- // re.setRepairSendTel(efastOrder.getOrderAddressTel());
- // //查询省市县id
- // /*Map<String,String> pccMap = provincesCitiesCounties(efastOrder);
- // re.setProvinceNumber(Integer.valueOf(pccMap.get("provinceId")));
- // re.setCityNumber(Integer.valueOf(pccMap.get("cityId")));
- // re.setAreaNumber(Integer.valueOf(pccMap.get("districtId")));*/
- // /*re.setRepairSendMergeAddress(pccMap.get("province")+"-"+pccMap.get("city")+"-"+pccMap.get("district"));*/
- // /*re.setRepairSendAddress(efastOrder.getOrderAddress());*/
- // re.setRepairSendLogisticsCompany(efastOrder.getOrderPostFirm());
- // re.setRepairSendLogisticsNo(efastOrder.getOrderPostNum());
- // /*re.setRepairSendStatus(2);*/
- // Integer msg = repairService.updateRepairInfo(re,null,null);
- // if(msg > 0){
- // //发送维修发货通知短信
- // sendSMS("<维修业务>",efastOrder.getOrderPostFirm(),efastOrder.getOrderPostNum(),re.getCustomerId(),re.getRepairBackTel());
- // }
- // }
- //
- // }
- // }
- //
- // /*同步换货订单*/
- // Renewed renewed = new Renewed();
- // List<Renewed> listRenewed = renewedService.listSynchronizingRenewed(renewed);
- // if(listRenewed.size() > 0){
- // for(Renewed re:listRenewed){
- // JSONObject respData = efastOrderService.getOrderFormEfastByOrderId(re.getRenewedBackEfastOrderId());
- // EfastOrder efastOrder = efastUtil.respDataConversion(respData);
- // if(efastOrder == null){
- // return;
- // }
- // if (efastOrder.getOrderStatus() == 1){//1代表已发货 发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
- // re.setRenewedSendName(efastOrder.getOrderAddressName());
- // re.setRenewedSendTel(efastOrder.getOrderAddressTel());
- // /*//查询省市县id
- // Map<String,String> pccMap = provincesCitiesCounties(efastOrder);
- // re.setProvinceNumber(Integer.valueOf(pccMap.get("provinceId")));
- // re.setCityNumber(Integer.valueOf(pccMap.get("cityId")));
- // re.setAreaNumber(Integer.valueOf(pccMap.get("districtId")));
- // re.setRenewedSendMergeAddress(pccMap.get("province")+"-"+pccMap.get("city")+"-"+pccMap.get("district"));
- // re.setRenewedSendAddress(efastOrder.getOrderAddress());*/
- // re.setRenewedSendLogisticsCompany(efastOrder.getOrderPostFirm());
- // re.setRenewedSendLogisticsNo(efastOrder.getOrderPostNum());
- // /*re.setRenewedSendStatus(2);*/
- // Integer msg = renewedService.updateRenewedInfo(re,null,null);
- // if(msg > 0){
- // //发送换货发货通知短信
- // sendSMS("<换货业务>",efastOrder.getOrderPostFirm(),efastOrder.getOrderPostNum(),re.getCustomerId(),re.getRenewedBackTel());
- // }
- // }
- // }
- // }
- // /*同步补发订单*/
- // Reissue reissue = new Reissue();
- // List<Reissue> listReissue = reissueService.listSynchronizingReissue(reissue);
- // if(listReissue.size() > 0){
- // for(Reissue re:listReissue){
- // JSONObject respData = efastOrderService.getOrderFormEfastByOrderId(re.getReissueBackEfastOrderId());
- // EfastOrder efastOrder = efastUtil.respDataConversion(respData);
- // if(efastOrder == null){
- // return;
- // }
- // if (efastOrder.getOrderStatus() == 1){//1代表已发货 发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
- // re.setReissueSendName(efastOrder.getOrderAddressName());
- // re.setReissueSendTel(efastOrder.getOrderAddressTel());
- // /*//查询省市县id
- // Map<String,String> pccMap = provincesCitiesCounties(efastOrder);
- // re.setProvinceNumber(Integer.valueOf(pccMap.get("provinceId")));
- // re.setCityNumber(Integer.valueOf(pccMap.get("cityId")));
- // re.setAreaNumber(Integer.valueOf(pccMap.get("districtId")));
- // re.setReissueSendMergeAddress(pccMap.get("province")+"-"+pccMap.get("city")+"-"+pccMap.get("district"));
- // re.setReissueSendAddress(efastOrder.getOrderAddress());*/
- // re.setReissueSendLogisticsCompany(efastOrder.getOrderPostFirm());
- // re.setReissueSendLogisticsNo(efastOrder.getOrderPostNum());
- // /*re.setReissueSendStatus(2);*/
- // Integer msg = reissueService.updateReissueInfo(re);
- // if(msg > 0){
- // //发送补发发货通知短信
- // sendSMS("<补发业务>",efastOrder.getOrderPostFirm(),efastOrder.getOrderPostNum(),re.getCustomerId(),re.getReissueSendTel());
- //
- // }
- // }
- // }
- // }
- // }
- /**
- * 发送发货通知
- * @param relation 维修 换货 补发
- * @param postFirm 物流公司代码
- * @param postNum 物流单号
- * @param customerId 客诉主键id
- * @param tel 手机号
- */
- public void sendSMS(String relation,String postFirm,String postNum,Integer customerId,String tel){
- if(postFirm != null && !postFirm.equals("") && postNum != null && !postNum.equals("")
- && customerId > 0 && !tel.equals("")){
- postFirm = KuaiDi100.replace(postFirm);
- if(!postFirm.equals("")){
- ProductType productType = customerService.getcompanyAffiliation(customerId);
- if(productType != null){
- String rejected_text = "";
- //1:美国watero; 2:上朵电动牙刷 3:优尼雅净水机
- if (productType.getTypeCompany() == 1){
- rejected_text = RELATION_SEND_WATERO;
- }
- if (productType.getTypeCompany() == 2){
- rejected_text = RELATION_SEND_SHANGDUO;
- }
- if (productType.getTypeCompany() == 3){
- rejected_text = RELATION_SEND_YULIA;
- }
- if (productType.getTypeCompany() == 4){
- rejected_text = RELATION_SEND_AIBERLE;
- }
- String text = MessageFormat.format(rejected_text, relation,postFirm+","+postNum);
- smsService.sendOtherCMS(tel,text);
- }
- }
- }
- }
- /**
- * 查询省市县id
- * @param
- */
- // public Map<String,String> provincesCitiesCounties(EfastOrder efastOrder){
- // Map<String,String> map = new HashMap<String, String>();
- // String province = "";
- // String city = "";
- // String zone = "";
- // //省
- // if(efastOrder.getOrderProvince().substring(efastOrder.getOrderProvince().length() - 1,efastOrder.getOrderProvince().length()).equals("省")){
- // province = efastOrder.getOrderProvince().substring(0,efastOrder.getOrderProvince().length() - 1);
- // }else{
- // province = efastOrder.getOrderProvince();
- // }
- // Province provinceinfo = new Province();
- // provinceinfo.setProvince(province);
- // List<Province> provinceList = addressService.listProvince(provinceinfo);
- // if(provinceList.size() < 1){
- // provinceinfo.setProvince(null);
- // provinceList = addressService.listProvince(provinceinfo);
- // }
- // map.put("provinceId",String.valueOf(provinceList.get(0).getProvinceId()));
- // map.put("province",provinceList.get(0).getProvince());
- //
- //
- // //市
- // city = efastOrder.getOrderCity().substring(0,efastOrder.getOrderCity().length() - 1);
- // City cityInfo = new City();
- // cityInfo.setCity(city);
- // List<City> cityList = addressService.listCity(cityInfo);
- // if(cityList.size() < 1){
- // cityInfo.setCity(null);
- // cityInfo.setProvinceId(provinceList.get(0).getProvinceId());
- // cityList = addressService.listCity(cityInfo);
- // }
- // map.put("cityId",String.valueOf(cityList.get(0).getCityId()));
- // map.put("city",cityList.get(0).getCity());
- //
- // //区
- // zone = efastOrder.getOrderArea().substring(0,efastOrder.getOrderArea().length() - 1);
- // District district = new District();
- // district.setDistrict(zone);
- // List<District> districtList = addressService.listDistrict(district);
- // if(districtList.size() < 1){
- // district.setDistrict(null);
- // district.setCityId(cityList.get(0).getCityId());
- // districtList = addressService.listDistrict(district);
- // }
- // map.put("districtId",String.valueOf(districtList.get(0).getDistrictId()));
- // map.put("district",districtList.get(0).getDistrict());
- // return map;
- // }
- /**客诉系统 自动追踪发货信息**/
- // @Scheduled(cron = "0 0/60 * * * ?")//每60分钟执行一次
- // @Scheduled(cron = "0 0/1 * * * ?")//每1分钟执行一次
- // public void syncSendBackCustomer()throws Exception{
- // CmRelation cmRelation = new CmRelation();
- // cmRelation.setRelationBackStatus(2);
- // List<CmRelation> cmRelationList = cmRelationService.getCmRelationList(cmRelation);
- // for(int i=0;i<cmRelationList.size();i++){
- // CmRelation cc = cmRelationList.get(i);
- // if(!StringUtils.isEmpty(cc.getRelationBackLogisticsCompany()) && !StringUtils.isEmpty(cc.getRelationBackLogisticsNo())){
- // JSONObject rst = kuaidi100.getExpressInfo(cc.getRelationBackLogisticsCompany(),cc.getRelationBackLogisticsNo());
- // if(rst.has("state") && rst.getInt("state") == 3){ //当快递状态为已签收的时候
- // Integer flag = 0;
- // try{
- // flag = cmRelationService.updateStatus(cc);
- // }catch (RuntimeException e){
- // logger.info("====== 客诉寄回签收报错 :客诉id:"+cc.getCustomerId()+" ======"+e.getMessage());
- // }
- // if(flag < 1){
- // logger.info("====== 客诉寄回签收失败 :客诉id:"+cc.getCustomerId()+" ======");
- // }else{
- // logger.info("====== 客诉寄回签收成功 :客诉id:"+cc.getCustomerId()+" ======");
- // }
- // }
- // }
- // }
- // }
- /**客诉系统 自动追踪发货信息**/
- // @Scheduled(cron = "0 0/2 * * * ?")//每2分钟执行一次
- @Scheduled(cron = "0 0 9 * * ?")//每天上午午9点触发
- public void postageRemind()throws Exception{
- Map<Integer,Integer> map = new HashMap<Integer,Integer>();
- List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
- for (CompanyInfo ci: companyInfoList ) {
- /*权限去重*/
- Set<Integer> authorityCustomerManagerSet = new HashSet();
- Set<Integer> authorityFinancialManagerSet = new HashSet();
- Set<Integer> authorityFinancialPaymentSet = new HashSet();
- PostageAuthority postageAuthority = new PostageAuthority();
- postageAuthority.setAuthorityStatus(1);
- postageAuthority.setCompanyId(ci.getCompanyId());
- List<PostageAuthority> postageAuthorityList = postageAuthorityService.getPostageAuthorityList(postageAuthority);
- for (int j=0;j<postageAuthorityList.size();j++){
- PostageAuthority pa = postageAuthorityList.get(j);
- if(pa.getAuthorityCustomerManager() != null && pa.getAuthorityCustomerManager() != 0){
- authorityCustomerManagerSet.add(pa.getAuthorityCustomerManager());
- }
- if(pa.getAuthorityFinancialManager() != null && pa.getAuthorityFinancialManager() != 0){
- authorityFinancialManagerSet.add(pa.getAuthorityFinancialManager());
- }
- if(pa.getAuthorityFinancialPayment() != null && pa.getAuthorityFinancialPayment() != 0){
- authorityFinancialPaymentSet.add(pa.getAuthorityFinancialPayment());
- }
- }
- Postage pt = new Postage();
- pt.setCompanyId(ci.getCompanyId());
- pt.setPostageManagerStatus(1); //客服经理审核 1:审核中
- for (Integer customerManager: authorityCustomerManagerSet) { //customerManager 为id
- Integer postageNumber = postageService.getPostageNumber(pt);
- if(map.get(customerManager) == null){
- map.put(customerManager,postageNumber);
- }else{
- Integer number = map.get(customerManager);
- map.put(customerManager,number + postageNumber);
- }
- }
- pt = new Postage();
- pt.setCompanyId(ci.getCompanyId());
- pt.setPostageFinanceStatus(1); //状态(财务审核) 1:审核中
- for (Integer financialManager: authorityFinancialManagerSet) { //financialManager 为id
- Integer postageNumber = postageService.getPostageNumber(pt);
- if(map.get(financialManager) == null){
- map.put(financialManager,postageNumber);
- }else{
- Integer number = map.get(financialManager);
- map.put(financialManager,number + postageNumber);
- }
- }
- pt = new Postage();
- pt.setCompanyId(ci.getCompanyId());
- pt.setPostageTransferStatus(1); //是否转账:1待转 2:已转
- for (Integer financialPayment: authorityFinancialPaymentSet) { //financialPayment 为id
- Integer postageNumber = postageService.getPostageNumber(pt);
- if(map.get(financialPayment) == null){
- map.put(financialPayment,postageNumber);
- }else{
- Integer number = map.get(financialPayment);
- map.put(financialPayment,number + postageNumber);
- }
- }
- }
- for (Map.Entry<Integer,Integer> m: map.entrySet()) {
- Integer number = m.getValue();
- Admin admin = new Admin();
- admin.setAdminId(m.getKey());
- admin = sysService.get(admin);
- String tel = admin.getAdminTel();
- if(admin == null || tel == null || "".equals(tel)){
- logger.info("邮费转账发送待处理短信,手机号码为空,"+ tel+"===id为"+m.getKey());
- continue;
- }
- if(number == null || number == 0){
- continue;
- }
- String text = MessageFormat.format(REMIND_POSTAGE_PENDING,number);
- smsService.sendOtherCMS(tel,text);
- }
- }
- /**
- * 查询维修超时数据并短信通知
- */
- @Scheduled(cron = "0 50 8 * * ?")//每天上午午9点触发
- /* @Scheduled(cron = "0 0/1 * * * ?")//每2分钟执行一次*/
- public void detectTimeoutNotice() throws Exception {
- logger.info("---------------- 询维修超时数据并短信通知开始 ---------------");
- //待检测即将超时数据
- List<ComplaintDetectInfo> listMaintenanceCut = complaintDetectInfoService.listMaintenanceCutNotice();
- //待维修即将超时数据
- List<ComplaintDetectInfo> listCompleteCut = complaintDetectInfoService.listCompleteCutNotice();
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- if(listMaintenanceCut != null && listMaintenanceCut.size() > 0){
- for(ComplaintDetectInfo info : listMaintenanceCut){
- if(info.getDetectNumber() != null && info.getMaintenanceCutTime() != null){
- //发送短信通知维修检测人员
- String text = MessageFormat.format(SmsConfig.DETECTION_TIMEOUT_NOTIFICATION, info.getDetectNumber(),"检测超时",format.format(info.getMaintenanceCutTime()));
- String result = smsService.sendOtherCMS(SmsConfig.CUSTOMER_PHONE, text);
- logger.info("给 " + SmsConfig.CUSTOMER_PHONE + " 手机用户发送短信:" + text+"发送检测即将超时数据维修人员:"+result);
- }
- }
- }
- if(listCompleteCut != null && listCompleteCut.size() > 0){
- for(ComplaintDetectInfo info : listCompleteCut){
- //发送短信通知维修检测人员
- if(info.getDetectNumber() != null && info.getCompleteCutTime() != null){
- String text = MessageFormat.format(SmsConfig.DETECTION_TIMEOUT_NOTIFICATION, info.getDetectNumber(),"维修超时",format.format(info.getCompleteCutTime()));
- String result = smsService.sendOtherCMS(SmsConfig.CUSTOMER_PHONE, text);
- logger.info("给 " + SmsConfig.CUSTOMER_PHONE + " 手机用户发送短信:" + text+"发送维修即将超时数据维修人员:"+result);
- }
- }
- }
- logger.info("---------------- 询维修超时数据并短信通知结束 ---------------");
- }
- }
|