123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- package com.chinacreator.videoalliance.order.action;
- import com.alibaba.fastjson.JSON;
- import com.chinacreator.common.pipe.DataOutPipe;
- import com.chinacreator.common.util.RequestUtil;
- import com.chinacreator.common.util.URLUtil;
- import com.chinacreator.videoalliance.common.annotation.DataOut;
- import com.chinacreator.videoalliance.common.dao.DictionaryDao;
- import com.chinacreator.videoalliance.common.util.ConfigUtil;
- import com.chinacreator.videoalliance.order.bean.OrderInfo;
- import com.chinacreator.videoalliance.order.dao.BussinessDao;
- import com.chinacreator.videoalliance.order.service.NextMonthEffectService;
- import com.chinacreator.videoalliance.order.service.OrderKsPreService;
- import com.chinacreator.videoalliance.order.service.OrderService;
- import com.chinacreator.videoalliance.order.service.OrderValiService;
- import com.chinacreator.videoalliance.order.service.WxcsHandleService;
- import com.chinacreator.videoalliance.order.util.JsonUtil;
- import org.apache.commons.lang.StringUtils;
- import org.apache.commons.lang.time.DateUtils;
- import org.apache.log4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import javax.servlet.http.HttpServletRequest;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
- @Controller
- public class CancelOrderAction {
- public static void main(String[] args) throws ParseException {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.DATE,1);
- cal.roll(Calendar.DATE,-1);
- System.out.println(sdf.format(cal.getTime()));
- System.out.println(sdf.parse(sdf.format(DateUtils.addDays(cal.getTime(), -1))));
- System.out.println(sdf.format(new Date()));
- }
- private static Logger log = Logger.getLogger("orderError");
- @Autowired
- private OrderService orderService;
- @Autowired
- private WxcsHandleService wxcsHandleService;
- @Autowired
- private DictionaryDao dictionaryDao;
- @Autowired
- private OrderKsPreService orderKsPreService;
-
- @Autowired
- private BussinessDao bussinessDao;
-
- @Autowired
- private OrderValiService orderValiService;
-
- @Autowired
- private NextMonthEffectService nextMonthEffectService;
- @RequestMapping({ "/cancelOrder.do" })
- @DataOut(callback = "cancelOrder")
- public DataOutPipe doOrder(HttpServletRequest request, OrderInfo orderInfo, String channel) throws Exception {
- DataOutPipe pipe = new DataOutPipe();
- orderInfo.setTimes(System.currentTimeMillis() + "");
- String userid = orderInfo.getUserid();
- if (StringUtils.isNotEmpty(userid)) {
- orderInfo.setUserid(ConfigUtil.decrypt(userid, orderInfo.getCpid()));
- if ((orderInfo.getUserid() != null) && (orderInfo.getUserid().length() > 11)) {
- orderInfo.setUserid(ConfigUtil.getUserid(orderInfo.getUserid(), orderInfo.getCpid()));
- }
- }
- if (StringUtils.isNotEmpty(channel)){
- if (channel.length()>20){
- if (channel.contains("bilibl")){
- channel="bilibl_app";
- }else {
- channel=channel.substring(0,10);
- }
- orderInfo.setChannel(channel);
- }
- }
- orderInfo.setApptype(RequestUtil.getMobType(request));
- orderInfo.setStatus(1);
- orderInfo.setOrderstatus(4);
- if (channel != null && channel.equals("kf")) {
- orderInfo.setOrderstatus(6);
- }
- orderInfo.setCancelchannel(channel);
- orderInfo.setInvokeface("cancelOrder");
-
- //办理验证
- orderValiService.vali(request, orderInfo);
-
- pipe.add("userid", userid);
- this.orderService.checkCancelOrder(orderInfo);
- //能力平台次月生效产品
- if(nextMonthEffectService.hasNextMonthBusi(orderInfo)){
- //业务处理
- nextMonthEffectService.process(orderInfo);
- }else if (orderInfo.getPaytype() == 1 && !orderInfo.getCpid().equals("changshi")) {
- if (StringUtils.isEmpty(channel)) {
- orderInfo.setCancelchannel(orderInfo.getCpid());
- }
- orderInfo.setCpid("changshi");
- orderInfo.setSpid("1150");
- wxcsHandleService.handleCancel(orderInfo, "1");
- } else {
- /* //快手8元、15元预退订处理.
- if (("1022".equals(orderInfo.getSpid()) || "1023".equals(orderInfo.getSpid())) && "kuaishou".equals(orderInfo.getCpid())){
- this.orderKsPreService.cancelOrder(orderInfo);
- }else{
- this.orderService.cancelOrder(orderInfo);
- }*/
- log.info(orderInfo.getUserid());
- /*if (channel.equals("kf")) {
- }else {
- log.info(orderInfo.getUserid()+"进入原有退订逻辑");
- this.orderService.cancelOrder(orderInfo);
- }*/
- log.info("参数报文:=================="+ JSON.toJSONString(orderInfo));
- if(orderInfo.getCpid().equals("kuaishou")||orderInfo.getCpid().equals("ali")
- ||orderInfo.getCpid().equals("yangshipin")){
- log.info(orderInfo.getUserid()+"进入快手阿里退订逻辑");
- this.orderService.cancelOrder(orderInfo,null,channel);
- }else {
- log.info(orderInfo.getUserid()+"进入原有退订逻辑");
- this.orderService.cancelOrder(orderInfo);
- }
- }
- pipe.add("endtime", orderInfo.getEndtime());
- insertOrderMq(orderInfo);
- inserSmstMq(orderInfo);
- return pipe;
- }
- public void insertOrderMq(OrderInfo orderInfo) {
- /****
- if (("changshi".equals(orderInfo.getCpid()) && (
- "99144185".equals(orderInfo.getSpid())
- || "99144186".equals(orderInfo.getSpid())
- || "99144187".equals(orderInfo.getSpid())
- || "99134262".equals(orderInfo.getSpid())
- || "1212".equals(orderInfo.getSpid())
- || "1213".equals(orderInfo.getSpid())
- || "1214".equals(orderInfo.getSpid())
- || "1215".equals(orderInfo.getSpid())
- || "1216".equals(orderInfo.getSpid())
- ))
- || (!orderInfo.getCpid().equals("changshi") && !orderInfo.getSpid().equals("1150"))) { ***/
- try {
- Map<String, String> map = new HashMap<String, String>();
- map.put("userid", orderInfo.getUserid());
- map.put("cpid", orderInfo.getCpid());
- map.put("spid", orderInfo.getSpid());
- map.put("province", orderInfo.getProvince());
- map.put("area", orderInfo.getArea());
- map.put("ordertime", orderInfo.getOrdertime());
- map.put("canceltime", orderInfo.getCanceltime());
- map.put("status", "1");
- map.put("orderchannel", orderInfo.getOrderchannel());
- map.put("cancelchannel", orderInfo.getCancelchannel());
- map.put("videoid", orderInfo.getVideoid());
- map.put("type", "order");
- //URLUtil.post("http://10.199.99.144:8090/mq-service/recive.do", JsonUtil.objectToJson(map));
- // URLUtil.post("http://10.199.99.177:86/mq-service/recive.do", JsonUtil.objectToJson(map));
- //不是能力平台次月生效的退订,或者是,且是正式订购关系表的退订
- if(!nextMonthEffectService.hasNextMonthBusi(orderInfo)
- || (nextMonthEffectService.hasNextMonthBusi(orderInfo) && "5".equals(orderInfo.getSyncstatus()))){
- //添加数据到活动关系处理表
- bussinessDao.addBussHandleWait(map);
- }
- URLUtil.post(dictionaryDao.getValue("mqReciveUrl"), JsonUtil.objectToJson(map));
- } catch (Exception e) {
- e.printStackTrace();
- }
- //}
- }
- //public static Map<String,String> cancelorderSmsMq = new HashMap<String, String>();
- //the spid(key) that need to send sms, sms style is value
- /**
- static {
- cancelorderSmsMq.put("1006","23");
- cancelorderSmsMq.put("954","21");
- cancelorderSmsMq.put("6","37");
- cancelorderSmsMq.put("952","38");
- cancelorderSmsMq.put("21156","39");
- cancelorderSmsMq.put("979","40");
- cancelorderSmsMq.put("1005","41");
- cancelorderSmsMq.put("11","42");
- cancelorderSmsMq.put("980","43");
- cancelorderSmsMq.put("1017","44");
- cancelorderSmsMq.put("1018","45");
- cancelorderSmsMq.put("10013","52");
- cancelorderSmsMq.put("10014","54");
- }
- **/
- public void inserSmstMq(OrderInfo orderInfo)
- {
- try
- {
- //if (cancelorderSmsMq.containsKey(orderInfo.getSpid()))
- //{
- Map<String, String> map = new HashMap<String, String>();
- map.put("userid", orderInfo.getUserid());
- map.put("cpid", orderInfo.getCpid());
- map.put("spid", orderInfo.getSpid());
- map.put("result", "0");
- map.put("channel", orderInfo.getCancelchannel());
- map.put("subchannel", (orderInfo.getSubchannel() == null ? "" : orderInfo.getSubchannel()));
- //map.put("style",cancelorderSmsMq.get(orderInfo.getSpid()));
- map.put("style","0000");
- map.put("times", "");
- map.put("orderType", "");
- map.put("type", "cssms");
- map.put("busiType", "cancel_succ");
- //URLUtil.post("http://10.199.99.144:8090/mq-service/recive.do", JsonUtil.objectToJson(map));
- URLUtil.post(dictionaryDao.getValue("mqReciveUrl"), JsonUtil.objectToJson(map));
- //}
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
|