Commit eff05540 by 彭祥礼

提交订单修改

parent 1da1d3a9
......@@ -7,12 +7,12 @@ import com.winsun.bean.*;
import com.winsun.mapper.*;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.MD5Utils;
import com.winsun.utils.ProduceIdUtil;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
......@@ -115,8 +115,6 @@ public class StartSelectController {
}
/**
* 手机端主页面,带参数进入手机端主页
*/
/**
* 对订单进去保存和提交订单到智能平台上
*/
@RequestMapping(value = "toBYSOrderSuccessPage")
......@@ -130,18 +128,21 @@ public class StartSelectController {
String currentTimeStr = simpleDateFormat.format(new Date());
Map<String, String[]> parameterMap = request.getParameterMap();
Map<String,String> maps = new HashMap<>();
String orderSeq = ProduceIdUtil.getId().toString();
maps.put("orderSeq",orderSeq);
String productId = "1329"; // 产品id
String saleId = null; // 销售id
JSONObject saleJsonObject = getSaleId(productId, currentTimeStr); // 获取销售ID
log.info("----------调用智能平台的获取销售品接口返回值:" + saleJsonObject);
System.out.println("----111--" + (saleJsonObject.toString().indexOf("list") == -1));
log.info("----111--" + (saleJsonObject.toString().indexOf("list") == -1));
if (saleJsonObject.toString().indexOf("list") == -1) {
map.put("code", "1");
map.put("error", "销售品获取失败");
return map;
}
JSONArray saleList = saleJsonObject.getJSONArray("list");
System.out.println("----saleList---:" + saleList);
log.info("----saleList---:" + saleList);
String saleId1 = "";
String saleId2 = "";
String saleId3 = "";
......@@ -152,25 +153,28 @@ public class StartSelectController {
if (itmeJson.getString("propertyName").indexOf("单宽带") != -1) {
if (itmeJson.getString("name").equals("单宽_2015年7月-100M/190元")) {
saleId1 = itmeJson.getString("saleId");
maps.put("saleId1",saleId1);
}
} else if (itmeJson.getString("propertyName").indexOf("提速包") != -1) {
if (itmeJson.getString("name").equals("移动老用户升级融合享套餐折扣_6个月")) {
saleId2 = itmeJson.getString("saleId");
maps.put("saleId2",saleId2);
}
} else if (itmeJson.getString("propertyName").indexOf("套餐优惠") != -1) {
if (itmeJson.getString("name").equals("129-5G畅想单品+40元权益金")) {
saleId3 = itmeJson.getString("saleId");
maps.put("saleId3",saleId3);
}
} else if (itmeJson.getString("propertyName").indexOf("一次性收费") != -1) {
if (itmeJson.getString("name").equals("一次性安装调测费200元")) {
saleId4 = itmeJson.getString("saleId");
maps.put("saleId4",saleId4);
}
}
}
// 3、提交订单到智能平台
JSONObject submitOrderJsonObject = getOrderBYSRHInfo(parameterMap, currentTimeStr, productId, saleId1, saleId2, saleId3, saleId4);
JSONObject submitOrderJsonObject = getOrderBYSRHInfo(parameterMap, currentTimeStr, productId,maps);
log.info("----------调用融合接口(提交订单至智能平台)并返回参数信息---status:" + submitOrderJsonObject.get("status") + " msg:" + submitOrderJsonObject.get("msg") + " orderNum:" + submitOrderJsonObject.get("orderNumber"));
String orderNum = (String) submitOrderJsonObject.get("orderNumber");
JSONObject queryOrderJsonObject = null;
......@@ -178,7 +182,8 @@ public class StartSelectController {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Map<String, String> orderMap = new HashMap<>();
orderMap.put("orderSeq", parameterMap.get("orderseq")[0]);
OrderView orderView = new OrderView();
orderMap.put("orderSeq", orderSeq);
orderMap.put("productTitle", "中国电信校园高速宽带");
orderMap.put("order_set_meal", "毕业生融合套餐");
orderMap.put("order_university_name", "毕业生");
......@@ -193,55 +198,16 @@ public class StartSelectController {
orderMap.put("orderNumber", parameterMap.get("identification")[0]);
orderMap.put("expenses", "毕业生融合套餐");
orderMap.put("upStatus", "2");
//saveOrderInfo(request, orderMap, "");
orderMap.put("partner", parameterMap.get("partner")[0]);
/* 5、更新数据库 */
Map<String, Object> map1 = new HashMap<>();
Order order = new Order();
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
uuid = uuid.substring(1, 12);
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//设置日期格式
order.setId(uuid);
order.setOrderNumber("YRYM" + df.format(new Date()) + (int) ((Math.random() * 9 + 1) * 1000));
order.setOrderStatus("受理中");
order.setHehuorenId(parameterMap.get("partner")[0]);
order.setOrderId(orderNum);
order.setCustomerName(parameterMap.get("userName")[0]);
order.setBusinessNumber(parameterMap.get("bussnessPhone")[0]);
order.setIdCard(parameterMap.get("identification")[0]);
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
order.setCreateTime(new Date());
order.setUserType("3");
order.setAddress(parameterMap.get("address")[0]);
order.setSite(parameterMap.get("myAddrs")[0]);
order.setContactNumber(parameterMap.get("contactNumber")[0]);
saveOrderInfo(orderMap,"");
/* XXXXXX */
UserSchool userSchool = userSchoolMapper.selectById(parameterMap.get("partner")[0]);
School school = schoolMapper.selectById(userSchool.getSchoolId());
SysUser sysUser = sysUserMapper.selectById(userSchool.getUserId());
if (!school.equals(null)) {
order.setHehuorenArea(school.getSubName());
order.setHehuorenSchool(school.getSchoolName());
order.setLzgh(school.getLzgh());
order.setHehuorenName(sysUser.getName());
order.setHehuorenPhone(sysUser.getPhone());
order.setSupervisorName(sysUser.getName());
}
/* XXXXXX */
orderMapper.insert(order);
OrderHistory history = new OrderHistory();
history.setOrderId(uuid);
history.setCreateDate(new Date());
history.setStatus("智能平台下单成功" + orderNum);
history.setOperator("admin");
historyMapper.insert(history);
map.put("orderSeq", parameterMap.get("orderseq")[0]);
map.put("orderSeq", orderSeq);
}
return map; // 不成功
}
private JSONObject getOrderBYSRHInfo(Map<String, String[]> parameterMap, String currentTimeStr, String productId, String saleId1, String saleId2, String saleId3, String saleId4) throws Exception {
private JSONObject getOrderBYSRHInfo(Map<String, String[]> parameterMap, String currentTimeStr, String productId, Map<String,String> objectMap) throws Exception {
List<NameValuePair> qParams = new ArrayList<NameValuePair>();
//HttpHost proxy = new HttpHost("172.18.101.170", 3128);
RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(500000)
......@@ -274,7 +240,7 @@ public class StartSelectController {
signMap.put("ctNumber", parameterMap.get("bussnessPhone")[0]);
String[] split = parameterMap.get("myAddrs")[0].split(" ");
String[] split = parameterMap.get("myAddrs")[0].split("/");
qParams.add(new BasicNameValuePair("addressProvince", split[0]));// 报装地址-省 办理类型,若选择[新宽新移][新宽旧移],此项必填
signMap.put("addressProvince", split[0]);
......@@ -324,15 +290,15 @@ public class StartSelectController {
qParams.add(new BasicNameValuePair("groupComarketingLanId", ""));//集团协销工号,选填
signMap.put("groupComarketingLanId", "");
qParams.add(new BasicNameValuePair("orderOutNum", parameterMap.get("orderseq")[0]));//外部订单编号,选填!;
qParams.add(new BasicNameValuePair("orderOutNum",objectMap.get("orderseq")));//外部订单编号,选填!;
// 通过API接口下单,必须传入一个外部接入商的订单编号,该编号与智能营销系统编号一一对应
signMap.put("orderOutNum", parameterMap.get("orderseq")[0]);
signMap.put("orderOutNum", objectMap.get("orderseq"));
qParams.add(new BasicNameValuePair("orderSource", "校园宽带自助受理"));// 订单来源 ,选填
signMap.put("orderSource", "校园宽带自助受理");
qParams.add(new BasicNameValuePair("orderSourceNum", parameterMap.get("orderseq")[0]));// 订单来源单号,选填;与订单来源对应,用于业务上记录订单的来源订单编号
signMap.put("orderSourceNum", (String) parameterMap.get("orderseq")[0]);
qParams.add(new BasicNameValuePair("orderSourceNum", objectMap.get("orderseq")));// 订单来源单号,选填;与订单来源对应,用于业务上记录订单的来源订单编号
signMap.put("orderSourceNum", (String) objectMap.get("orderseq"));
qParams.add(new BasicNameValuePair("salePointCode", ""));// 销售点编码,选填
signMap.put("salePointCode", "");
......@@ -405,22 +371,22 @@ public class StartSelectController {
//单宽带
Map<String, Object> paymentListMap2 = new HashMap<String, Object>();
paymentListMap2.put("id", saleId1);// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap2.put("id", objectMap.get("saleId1"));// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap2.put("saleName", "");// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap2.put("payType", "2");// 缴费方式,必填(例:payType:3)3:代理商打款4:穗易付7:货到付款
Map<String, Object> paymentListMap3 = new HashMap<String, Object>();
paymentListMap3.put("id", saleId2);// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap3.put("id", objectMap.get("saleId2"));// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap3.put("saleName", "");// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap3.put("payType", "2");// 缴费方式,
Map<String, Object> paymentListMap4 = new HashMap<String, Object>();
paymentListMap4.put("id", saleId3);// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap4.put("id", objectMap.get("saleId3"));// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap4.put("saleName", "");// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap4.put("payType", "2");// 缴费方式,
Map<String, Object> paymentListMap5 = new HashMap<String, Object>();
paymentListMap5.put("id", saleId4);// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap5.put("id", objectMap.get("saleId4"));// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap5.put("saleName", "");// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap5.put("payType", "1");// 缴费方式,
paymentListMap5.put("bank", parameterMap.get("bank")[0]);// 银行名称,若选择银行划账,此项必填
......@@ -465,7 +431,7 @@ public class StartSelectController {
}
plaintext = plaintext.concat(Constant.ZHANGSHIKEY);
log.info("---------plaintext---------:" + plaintext);
String sign = MD5Utils.md5(plaintext);//md5加密
String sign = MD5Utils.md5(plaintext).toUpperCase();//md5加密
qParams.add(new BasicNameValuePair("sign", sign));//签名,必填
//qParams.add(new BasicNameValuePair("sign", SignUtil.exChange(SignUtil.md5EncodeSignature(plaintext))));//签名,必填
//log.info("---------sign---------:" + SignUtil.exChange(SignUtil.md5EncodeSignature(plaintext)));
......@@ -488,15 +454,130 @@ public class StartSelectController {
}
return resultDataJson;
}
/**
* 保存订单到数据库
*/
private void saveOrderInfo(Map<String, String> orderMap,String ORDERSEQ) throws Exception {
log.info("支付操作后保存数据到数据库");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
OrderView orderView = new OrderView();
orderView.setOrderseq(ProduceIdUtil.getId()+"");// 订单号码
orderView.setProductname(orderMap.get("productTitle")); // 产品名称
orderView.setOrderSetMeal(orderMap.get("order_set_meal")); // 套餐
orderView.setOrderUniversityName(orderMap.get("order_university_name")); // 学校
orderView.setOrdername(orderMap.get("orderName")); // 姓名
String orderDatetime = orderMap.get("orderDatetime");
orderView.setOrderdate(df.parse(orderDatetime)); // 提交时间
orderView.setStatus(orderMap.get("Status")); // 订单状态
orderView.setOrderRegion(orderMap.get("universityRegion")); // 区域
orderView.setIpay(orderMap.get("ipay")); // 支付平台
orderView.setPaytype(orderMap.get("payType")); // 支付方式
orderView.setWeborderamount(orderMap.get("prices").replace("元", "")); // 产品价格
orderView.setCustomerid("xyzxyql"); // 接入商
orderView.setOrderphone(orderMap.get("orderPhone")); // 联系电话
orderView.setOrdernumber(orderMap.get("orderNumber")); // 身份证号码
if (StringUtils.isBlank(orderMap.get("order_customer_student_id"))) {
orderView.setOrderCustomerType("老师"); // 用户类别
} else {
orderView.setOrderCustomerType("学生"); // 用户类别
}
orderView.setOrderCustomerRemarks(orderMap.get("bussnessPhone"));
orderView.setOrderCustomerStudentId(orderMap.get("order_customer_student_id")); // 学生证号
orderView.setOrderCustomerAccount(orderMap.get("order_customer_account")); // 多媒体账号
orderView.setOrderCustomerPwd(orderMap.get("order_customer_pwd")); // 多媒体密码
UserSchool userSchool = userSchoolMapper.selectById(orderMap.get("partner"));
School school = schoolMapper.selectById(userSchool.getSchoolId());
SysUser sysUser = sysUserMapper.selectById(userSchool.getUserId());
if (orderMap.get("upStatus").equals("1")) {
Order order = new Order();
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
uuid = uuid.substring(1, 12);
SimpleDateFormat df2 = new SimpleDateFormat("yyyyMMdd");//设置日期格式
order.setId(uuid);
order.setOrderNumber("YRYM" + df2.format(new Date()) + (int) ((Math.random() * 9 + 1) * 1000));
order.setNetNumber(orderMap.get("order_customer_account"));
order.setNetPassword(orderMap.get("order_customer_pwd"));
order.setUserSchool(orderMap.get("order_university_name"));
order.setHehuorenId(orderMap.get("partner"));
order.setKdOrderId(orderMap.get("orderSeq"));
order.setUserType("3");
order.setBusinessNumber(orderMap.get("bussnessPhone"));
order.setIdentifying(orderMap.get("identifying"));
order.setCustomerName(orderMap.get("orderName"));
order.setOrderStatus("审核中");
order.setContactNumber(orderMap.get("orderPhone"));
order.setIdCard(orderMap.get("orderNumber"));
order.setExpenses(orderMap.get("expenses"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
order.setCreateTime(new Date());
if (!school.equals(null)) {
order.setHehuorenArea(school.getSubName());
order.setHehuorenSchool(school.getSchoolName());
order.setLzgh(school.getLzgh());
order.setHehuorenName(sysUser.getName());
order.setHehuorenPhone(sysUser.getPhone());
order.setSupervisorName(sysUser.getName());
}
orderMapper.insert(order);
OrderHistory history = new OrderHistory();
history.setOrderId(uuid);
history.setCreateDate(new Date());
history.setStatus("资料已提交");
historyMapper.insert(history);
} else if (orderMap.get("upStatus").equals("2")) {
} else {
Order order = new Order();
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
uuid = uuid.substring(1, 12);
order.setId(uuid);
SimpleDateFormat df2 = new SimpleDateFormat("yyyyMMdd");//设置日期格式
order.setOrderNumber("YRYM" + df2.format(new Date()) + (int) ((Math.random() * 9 + 1) * 1000));
order.setNetNumber(orderMap.get("order_customer_account"));
order.setNetPassword(orderMap.get("order_customer_pwd"));
order.setUserSchool(orderMap.get("order_university_name"));
order.setHehuorenId(orderMap.get("partner"));
order.setKdOrderId(orderMap.get("orderSeq"));
order.setUserType("5");
order.setBusinessNumber("");
order.setCustomerName(orderMap.get("orderName"));
order.setOrderStatus("审核中");
order.setContactNumber(orderMap.get("orderPhone"));
order.setIdCard(orderMap.get("orderNumber"));
order.setExpenses("");
order.setIdentifying(orderMap.get("identifying"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
order.setCreateTime(new Date());
if (!school.equals(null)) {
order.setHehuorenArea(school.getSubName());
order.setHehuorenSchool(school.getSchoolName());
order.setLzgh(school.getLzgh());
order.setHehuorenName(sysUser.getName());
order.setHehuorenPhone(sysUser.getPhone());
order.setSupervisorName(sysUser.getName());
}
orderMapper.insert(order);
OrderHistory history = new OrderHistory();
history.setOrderId(uuid);
history.setCreateDate(new Date());
history.setStatus("资料已提交");
historyMapper.insert(history);
}
}
@RequestMapping(value = "getSaleId", method = {RequestMethod.GET, RequestMethod.POST}, produces = "text/plain;charset=UTF-8")
@ResponseBody
private JSONObject getSaleId(String productId, String currentTimeStr) throws Exception {
List<NameValuePair> qParams = new ArrayList<NameValuePair>();
Map<String, String> signMap = new HashMap<String, String>();//待签名参数
HttpHost proxy = new HttpHost("172.18.101.170", 3128);
//HttpHost proxy = new HttpHost("172.18.101.170", 3128);
RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(500000)
.setConnectTimeout(500000).setConnectionRequestTimeout(500000).setProxy(proxy).build();
.setConnectTimeout(500000).setConnectionRequestTimeout(500000).build();//.setProxy(proxy)
CloseableHttpClient httpclient = HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig)
.build();
......@@ -523,7 +604,7 @@ public class StartSelectController {
plaintext = plaintext.concat(value);
}
plaintext = plaintext.concat(Constant.ZHANGSHIKEY);
String sign = MD5Utils.md5(plaintext);//md5加密
String sign = MD5Utils.md5(plaintext).toUpperCase();//md5加密
qParams.add(new BasicNameValuePair("sign", sign));//签名,必填
//qParams.add(new BasicNameValuePair("sign", SignUtil.exChange(SignUtil.md5EncodeSignature(plaintext))));//签名,必填
JSONObject resultDataJson = null;
......@@ -534,7 +615,7 @@ public class StartSelectController {
HttpResponse response = httpclient.execute(httpPost);
entity = response.getEntity();
String httpResult = EntityUtils.toString(entity, "UTF-8");
System.out.println("返回信息:" + httpResult);
log.info("返回信息:" + httpResult);
resultDataJson = JSONObject.fromObject(httpResult);
} catch (Exception e) {
log.info("---接口异常");
......@@ -545,6 +626,12 @@ public class StartSelectController {
return resultDataJson;
}
/**
* 查询套餐信息(暂时弃用)
* @param partner
* @return
*/
@ResponseBody
@RequestMapping(value = "getTaoCanByType", method = RequestMethod.POST)
public ResponseData<Map<String, Object>> getTaoCanByType(String partner) {
......@@ -571,7 +658,7 @@ public class StartSelectController {
universityInfoWrapper.addFilter("university_id = '"+university_id+"'");
}
Map<String, Object> uniInfoMap = universityInfoMapper.selectMaps(universityInfoWrapper).get(0);
*/
*/
Map<String, Object> objMap = new HashMap<>();
objMap.put("productMap",productMap);
/*objMap.put("uniInfoMap",uniInfoMap);*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment