SendMessageBiz.java 2.19 KB
package com.cjs.cms.biz.pub;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cjs.cms.dao.pub.SendMessageLogDao;

@Service
public class SendMessageBiz {
    Logger                    log = LogManager.getLogger();
    @Autowired
    private SendMessageLogDao logDao;

    /**
     * 更新短信状态
     * @param args
     * @return
     * 
     */
    public String callBack(String args) {
        String result = "接收成功";
        Map<String, Object> param = new HashMap<String, Object>();

        log.info("更新短信状态:" + args);
        if (StringUtils.isBlank(args)) {
            log.error("参数为空");
            return "参数为空";
        }
        String message[] = args.split(";");
        if (message.length == 0) {
            log.error("参数为空");
            return "参数为空";
        }
        for (String arg : message) {
            if (StringUtils.isBlank(arg)) {
                log.error("参数不正确");
                return "参数不正确";
            }
            String sendMessage[] = arg.split(",");
            if (sendMessage.length < 4) {
                log.error("参数位数不对");
                return "参数位数不对";
            }
            String sendResult = sendMessage[0];
            //   String phoneNumber = sendMessage[1];
            String sendStatus = sendMessage[2];
            String sendAt = sendMessage[3];
            param.put("sendResult", sendResult);
            List<Map<String, Object>> messageList = logDao.queryByStatus(param);
            if (messageList.size() == 0) {
                log.error(sendResult + "查询不到信息");
                return sendResult + "查询不到信息";
            }
            for (Map<String, Object> map : messageList) {
                map.put("sendStatus", sendStatus);
                map.put("sendAt", sendAt);
                logDao.update(map);
            }
        }
        return result;
    }

}