123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- package com.chinacreator.videoalliance.order.service;
- import java.sql.SQLException;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import com.chinacreator.common.exception.BusinessException;
- import com.chinacreator.common.util.URLUtil;
- import com.chinacreator.videoalliance.common.bean.AreaInfo;
- import com.chinacreator.videoalliance.common.dao.DictionaryDao;
- import com.chinacreator.videoalliance.common.util.AreaUtil;
- import com.chinacreator.videoalliance.order.bean.SPInfo;
- import com.chinacreator.videoalliance.order.bean.VacOrderLog;
- import com.chinacreator.videoalliance.order.dao.OrderLogDao;
- import com.chinacreator.videoalliance.order.dao.SPDao;
- import com.chinacreator.videoalliance.order.util.JsonUtil;
- import com.chinacreator.videoalliance.order.util.VacUtil;
- import org.apache.commons.lang.StringUtils;
- import org.apache.log4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- @Component
- public class VacOrderService
- {
- private static Logger log = Logger.getLogger(VacOrderService.class);
- @Autowired
- private SPDao spDao;
- @Autowired
- private OrderLogDao orderLogDao;
- @Autowired
- private DictionaryDao dictionaryDao;
- public String order(String userid, String spid)
- throws Exception
- {
- return order(userid,spid,null,null);
- }
- public String order(String userid, String spid, String sequence,String channel)
- throws Exception
- {
- SPInfo spInfo = getSPInfo(spid);
- String result = "0";
- String type = "1";
- //System.out.println("++++++++++++++++++HASLOCAL:"+spInfo.getVacproductid()+","+spInfo.getHaslocal());
- if(spInfo == null || (StringUtils.isEmpty(spInfo.getVacproductid()) && !"0".equals(spInfo.getHaslocal()))){
- throw new BusinessException("7003", "产品配置错误");
- }
- if (!"0".equals(spInfo.getHaslocal()) && spInfo.getFeetype() == 1) {
- result = VacUtil.vac(userid, spInfo.getSpcode(), spInfo.getVacproductid(), type, sequence);
- }
- try
- {
- saveLog(userid, spInfo, type, result,sequence);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if ("1200".equals(result)) {
- result = "0";
- }
- if ((!result.equals("0")) && (spInfo.getErrorhandle() != 0)) {
- if(!"cardbus".equals(channel)){
- insertPushTw(userid,spInfo.getCpid(),spid);
- }
- if("8005".equals(result)){
- throw new BusinessException(result, "订购失败:VAC参数验证失败", new String[0]);
- }
- throw new BusinessException(result, "订购失败", new String[0]);
- }
- return result;
- }
- private SPInfo getSPInfo(String spid) throws Exception {
- return this.spDao.findById(spid);
- }
- public String cancelOrder(String userid, String spid)
- throws Exception
- {
- SPInfo spInfo = getSPInfo(spid);
- String result = "0";
- if ((spInfo != null) && (StringUtils.isNotEmpty(spInfo.getVacproductid())) && (spInfo.getFeetype() == 1)) {
- result = VacUtil.vac(userid, spInfo.getSpcode(), spInfo.getVacproductid(), "2");
- }
- try
- {
- saveLog(userid, spInfo, "2", result,null);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if ("1201".equals(result)) {
- result = "0";
- }
- if (!result.equals("0")) {
- if("8005".equals(result)){
- throw new BusinessException(result, "退订失败:VAC参数验证失败", new String[0]);
- }
- throw new BusinessException(result, "退订失败", new String[0]);
- }
- return result;
- }
- /**
- * VAC订购失败推送拓维后向订购
- * @param userid
- * @param cpid
- * @param spid
- */
- public void insertPushTw(String userid,String cpid,String spid){
- try {
- Map<String, String> map = new HashMap<String, String>();
- map.put("userid",userid);
- map.put("kcSpid",spid);
- map.put("kcCpid",cpid);
- map.put("type", "twhx");
- String mqReciveUrl = dictionaryDao.getValue("mqReciveUrl");
- URLUtil.post(mqReciveUrl, JsonUtil.objectToJson(map));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private void saveLog(String userid, SPInfo spInfo, String type, String result,String sequence) throws Exception {
- VacOrderLog vacOrderLog = new VacOrderLog();
- AreaInfo areaInfo = AreaUtil.getAreaInfoByUserid(userid);
- if (areaInfo != null) {
- vacOrderLog.setProvince(areaInfo.getProvince());
- }
- vacOrderLog.setUserid(userid);
- vacOrderLog.setCpid(spInfo.getCpid());
- vacOrderLog.setProductid(spInfo.getVacproductid());
- vacOrderLog.setResultcode(result);
- vacOrderLog.setSpcode(spInfo.getSpcode());
- vacOrderLog.setType(type);
- vacOrderLog.setSequence(sequence);
- this.orderLogDao.addVacOrderLog(vacOrderLog);
- }
- public static void main(String[] args)
- {
- System.out.println("--123-");
- }
- }
|