Commit acb4da97 by 伍思炜

优化下单反馈

parent 3555d727
......@@ -7,6 +7,7 @@ import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.*;
import com.winsun.constant.OrderStatus;
import com.winsun.mapper.*;
import com.winsun.outSideSystem.IntelligenceSendOrders;
import com.winsun.smsUtils.StringUtil;
import com.winsun.utils.*;
import lombok.extern.slf4j.Slf4j;
......@@ -25,6 +26,7 @@ import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
......@@ -78,6 +80,9 @@ public class RongHeController {
@Autowired
private RegularMapper regularMapper;
@Autowired
private IntelligenceSendOrders intelligenceSendOrders;
/**
* 跟据合伙人id查找融合套餐信息
*
......@@ -85,7 +90,7 @@ public class RongHeController {
* @return
*/
@RequestMapping(value = "/rhData",method = {RequestMethod.GET, RequestMethod.POST})
@RequestMapping(value = "/rhData", method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Map<String, Object>> getRhData(@RequestParam("hhrId") String hhrId, @RequestParam("phone") String phone) {
//空,直接返回
if (StringUtils.isEmpty(hhrId)) {
......@@ -107,15 +112,15 @@ public class RongHeController {
return ResponseData.success(objMap);
}
/**
* 宽带下单获取产品信息
*
*/
@RequestMapping(value = "/selectProductManage",method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Object> selectProductManage(@RequestParam("id") String id){
Map<String,Object> map = productMapper.queryProductById(id).get(0);
if(map.size()>0){
map.put("id",id);
@RequestMapping(value = "/selectProductManage", method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Object> selectProductManage(@RequestParam("id") String id) {
Map<String, Object> map = productMapper.queryProductById(id).get(0);
if (map.size() > 0) {
map.put("id", id);
return ResponseData.success(map);
}
return ResponseData.error("查询数据出错!");
......@@ -123,6 +128,7 @@ public class RongHeController {
/**
* 获取支付状态
*
* @param orderSeq
* @return
*/
......@@ -140,19 +146,21 @@ public class RongHeController {
return ResponseData.error("重复订单");
}
if(StringUtils.isNotBlank(orderViews.get(0).getUptranseq())) {
if (StringUtils.isNotBlank(orderViews.get(0).getUptranseq())) {
return ResponseData.success("支付成功");
}
return ResponseData.error("");
}
/**
* 支付平台异步更新后台地址,主要对订单进去保存和提交订单到智能平台上
*
* @return
*/
@PostMapping("/createRongHeOrder")
public ResponseData<Object> createRongHeOrder(HttpServletRequest request,HttpServletRequest response){
@Transactional(rollbackFor = Exception.class)
public ResponseData<Object> createRongHeOrder(HttpServletRequest request, HttpServletRequest response) {
String orderName = request.getParameter("orderName");
String orderPhone = request.getParameter("orderPhone");
String banLiPhone = request.getParameter("banLiPhone");
......@@ -170,19 +178,19 @@ public class RongHeController {
String campus = request.getParameter("campus");
String regularId = request.getParameter("productIntroductionPic2");
if(sell != null && StringUtils.isNumeric(sell)){
if (sell != null && StringUtils.isNumeric(sell)) {
}else {
} else {
sell = "";
}
// 校验多媒体账号
if (StringUtils.isNotBlank(orderCustomerAccount)) {
if (StringUtils.isNotBlank(regularId)){
if (StringUtils.isNotBlank(regularId)) {
Wrapper<Regular> wrapper = new EntityWrapper<>();
Regular regular = regularMapper.selectById(regularId);
if (StringUtils.isNotBlank(regular.getRegular())) {
if (!"手机号".equals(regular.getRegularName())){
if (!"手机号".equals(regular.getRegularName())) {
String orderCustomerAccounts = orderCustomerAccount.split("@")[0];
Pattern iphoneVerification = Pattern.compile(regular.getRegular().replace("/", ""));
if (!iphoneVerification.matcher(orderCustomerAccounts).matches()) {
......@@ -198,11 +206,11 @@ public class RongHeController {
// 校验多媒体密码
if (StringUtils.isNotBlank(orderCustomerPwd)) {
// 广美学校判断
if (StringUtils.isNotBlank(productId) && "84".equals(productId)){
if (StringUtils.isNotBlank(productId) && "84".equals(productId)) {
if (!orderNumber.substring(10).equals(orderCustomerPwd)) {
return ResponseData.error("多媒体账号的密码必须为身份证8位");
}
}else {
} else {
if (!CheckPwd.checkPassword(orderCustomerPwd)) {
return ResponseData.error("多媒体账号的密码必须为8~12位的数字加字母组合");
}
......@@ -216,19 +224,19 @@ public class RongHeController {
String orderSeq = RandomUtil.RandomNumber(20);
// 生成随机字符串
try{
try {
String uuid = UUID.randomUUID().toString();
boolean boo1 = redisLockUtil.redisLock(orderNumber,uuid,10);
boolean boo2 = redisLockUtil.redisLock(orderCustomerAccount,uuid,10);
if(!boo1 || !boo2){
boolean boo1 = redisLockUtil.redisLock(orderNumber, uuid, 10);
boolean boo2 = redisLockUtil.redisLock(orderCustomerAccount, uuid, 10);
if (!boo1 || !boo2) {
return ResponseData.error("重复下单!");
}
if(StringUtils.isBlank(imgUrl)){
if (StringUtils.isBlank(imgUrl)) {
return ResponseData.error("签名失败!");
}
if(StringUtils.isNotBlank(imgUrl)){
filePath = PicturesUtil.uploadPictures(imgUrl, orderSeq,"signImg");
if (StringUtils.isNotBlank(imgUrl)) {
filePath = PicturesUtil.uploadPictures(imgUrl, orderSeq, "signImg");
}
OrderView orderV = new OrderView();
String mealStr = null;
......@@ -259,8 +267,8 @@ public class RongHeController {
/*
广美用来判断校区
*/
if (StringUtils.isNotBlank(productId) && "84".equals(productId)){
if (StringUtils.isNotBlank(campus) && "1".equals(campus)){
if (StringUtils.isNotBlank(productId) && "84".equals(productId)) {
if (StringUtils.isNotBlank(campus) && "1".equals(campus)) {
orderView.setOrderRegion("海珠区");
}
}
......@@ -279,17 +287,17 @@ public class RongHeController {
break;
}
}
}else {
} else {
index = Integer.parseInt(setMealIndex);
// mealStr = mealArry[index];
byStr = rateArry[index];
prices = priceArry[index] + "元";
}
if(StringUtils.isBlank(expenses)){
if (StringUtils.isBlank(expenses)) {
expenses = "";
}
orderView.setExpenses(expenses+byStr);
orderView.setExpenses(expenses + byStr);
orderView.setProductName(product.getProductTitle());// 产品名称
orderView.setOrderDate(new Date()); // 提交时间
orderView.setStatus(OrderStatus.NOTPAID.getId());
......@@ -303,10 +311,10 @@ public class RongHeController {
} else {
orderView.setIPay("1"); // 支付平台
}
if(product.getProductIntroductionPic4().equals("1")){
if (product.getProductIntroductionPic4().equals("1")) {
// 现金支付
orderView.setCustomerId("xjzf"); // 接入商
}else {
} else {
orderView.setCustomerId("xyzxyql"); // 接入商
}
......@@ -319,11 +327,11 @@ public class RongHeController {
ResponseData<Object> res = null;
if (webOrderAmount.equals("0") || product.getProductIntroductionPic4().equals("1")) {
res = createOrder(productId, orderView, partner, rhTime,filePath,"未下单",sell);
Order order =(Order) res.getData();
res = createOrder(productId, orderView, partner, rhTime, filePath, "未下单", sell);
Order order = (Order) res.getData();
orderV.setOrderRf2(order.getKdOrderId());
}else {
res = createOrder(productId, orderView, partner, rhTime,filePath,"未支付",sell);
} else {
res = createOrder(productId, orderView, partner, rhTime, filePath, "未支付", sell);
}
if (!res.isSuccess()) {
......@@ -336,23 +344,33 @@ public class RongHeController {
insert = orderViewMapper.insert(orderView);
Map<String, Object> order = orderMapper.selectByOrderSeq(orderSeq);
// 下单到中台
if (webOrderAmount.equals("0") || product.getProductIntroductionPic4().equals("1")) {
if (StringUtils.isBlank(rhTime)) {
intelligenceSendOrders.integrateSendOrder(order, true);
} else {
intelligenceSendOrders.integrateSendOrder(order, false);
}
}
if (insert == 1) {
orderV.setOrderSeq(orderSeq);
orderV.setWebOrderAmount(webOrderAmount);
orderV.setProductIntroductionPic4(product.getProductIntroductionPic4());
return ResponseData.success(orderV, "订单提交完成!");
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return ResponseData.error("下单失败,请检查套餐设置!");
}finally {
} finally {
redisTemplate.delete(orderNumber);
redisTemplate.delete(orderCustomerAccount);
}
return ResponseData.error("请重新提交");
}
public ResponseData<Object> createOrder(String productId, OrderView orderView, String userId, String rhTime,String filePath,String orderStatus,String sell){
public ResponseData<Object> createOrder(String productId, OrderView orderView, String userId, String rhTime, String filePath, String orderStatus, String sell) {
Order order = new Order();
try {
String uuid = UUID.randomUUID().toString();
......@@ -395,24 +413,24 @@ public class RongHeController {
String schoolId = appMapper.selectSchoolId(userId);
School school = schoolMapper.selectById(schoolId);
order.setHehuorenSchool(school.getSchoolName());
order.setHehuorenName(sysUser.getName()+sell);
order.setHehuorenName(sysUser.getName() + sell);
// order.setPackageId(productId);
order.setHehuorenArea(school.getSubName());
order.setSignImg(filePath);
List<String> userId1 = appMapper.selectsupervisorBySchool(schoolId);
if (userId1 != null && userId1.size() != 0 ) {
for (String data:userId1){
try{
if (userId1 != null && userId1.size() != 0) {
for (String data : userId1) {
try {
Wrapper<HhrUser> userWrapper = new EntityWrapper<>();
userWrapper.eq("id",data);
userWrapper.eq("position","总经理");
userWrapper.eq("id", data);
userWrapper.eq("position", "总经理");
List<HhrUser> hhrUsers = hhrUserMapper.selectList(userWrapper);
if(hhrUsers != null && hhrUsers.size()==1){
if (hhrUsers != null && hhrUsers.size() == 1) {
SysUser user = sysUserMapper.selectById(hhrUsers.get(0).getId());
order.setSupervisorName(user.getName());
}
}catch (Exception e){
log.error("查询督导失败:"+e.getMessage(),e);
} catch (Exception e) {
log.error("查询督导失败:" + e.getMessage(), e);
}
}
}
......@@ -426,7 +444,7 @@ public class RongHeController {
order.setOrderStatus(orderStatus);
orderMapper.insert(order);
appMapper.inserOrderHis(id, "待下单!", new Date(), orderView.getOrderName());
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return ResponseData.error("操作失败");
}
......@@ -435,8 +453,8 @@ public class RongHeController {
}
@RequestMapping(value = "toSubmisOrderPreser", method = {RequestMethod.GET, RequestMethod.POST}, produces = "text/plain;charset=UTF-8")
public void toSubmisOrderPreser(HttpServletRequest request){
try{
public void toSubmisOrderPreser(HttpServletRequest request) {
try {
String orderseq = request.getParameter("ORDERSEQ"); // orderseq
String uptranseq = request.getParameter("UPTRANSEQ"); // 穗易付平台,支付流水号uptranseq
String orderamount = request.getParameter("ORDERAMOUNT"); // orderamount 价格
......@@ -455,10 +473,10 @@ public class RongHeController {
Wrapper<OrderView> wrapper = new EntityWrapper<>();
wrapper.eq("orderSeq", orderseq);
List<OrderView> orderViews = orderViewMapper.selectList(wrapper);
if(orderViews.size()>0){
if(!"".equals(orderViews.get(0).getUptranseq())&&uptranseq.equals(orderViews.get(0).getUptranseq())){
if (orderViews.size() > 0) {
if (!"".equals(orderViews.get(0).getUptranseq()) && uptranseq.equals(orderViews.get(0).getUptranseq())) {
}else {
} else {
Map<String, Object> dataMapping = new HashMap<>();
dataMapping.put("orderReqtranSeq", orderreqtranseq);
dataMapping.put("uptranseq", uptranseq);
......@@ -472,10 +490,16 @@ public class RongHeController {
orderMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping2), objectEntityWrapper);
List<Order> orders = orderMapper.selectList(objectEntityWrapper);
appMapper.inserOrderHis(orders.get(0).getId(), "支付完成,未下单!", new Date(), orders.get(0).getCustomerName());
Map<String, Object> order = orderMapper.selectByOrderSeq(orderseq);
if (StringUtils.isBlank(order.get("rh_time").toString())) {
intelligenceSendOrders.integrateSendOrder(order, true);
} else {
intelligenceSendOrders.integrateSendOrder(order, false);
}
}
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
......@@ -491,7 +515,7 @@ public class RongHeController {
* @throws Exception
*/
@PostMapping(value = "orderPay")
public ResponseData<Object> toPaymentPlatformPage(HttpServletRequest request, HttpServletResponse response){
public ResponseData<Object> toPaymentPlatformPage(HttpServletRequest request, HttpServletResponse response) {
String uuid = UUID.randomUUID().toString();
String orderSeq = request.getParameter("orderSeq");
String ipay = request.getParameter("ipay");
......@@ -504,20 +528,21 @@ public class RongHeController {
}
try {
boolean boo1 = redisLockUtil.redisLock(orderSeq,uuid,10);
if(!boo1){
boolean boo1 = redisLockUtil.redisLock(orderSeq, uuid, 10);
if (!boo1) {
return ResponseData.error("已在支付中");
}
String result = JsoupMethodZhifu(orderSeq, ipay, userId, request, response,rhTime);
String result = JsoupMethodZhifu(orderSeq, ipay, userId, request, response, rhTime);
return ResponseData.success(result);
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}finally {
} finally {
redisLockUtil.deleteLock(orderSeq);
}
return ResponseData.error("支付失败!若已支付请实名认证,未支付请稍后尝试支付。");
}
@RequestMapping(value = "/selectUniversity",method = {RequestMethod.GET, RequestMethod.POST})
@RequestMapping(value = "/selectUniversity", method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<UniversityInfo> selectUniversity(@RequestParam("universityId") String universityId) {
UniversityInfo universityInfo = universityInfoMapper.selectById(universityId);
return ResponseData.success(universityInfo);
......@@ -528,8 +553,8 @@ public class RongHeController {
* @Description:支付请求
*/
public String JsoupMethodZhifu(String orderSeq, String ipay, String userId,
HttpServletRequest request, HttpServletResponse response, String rhTime){
try{
HttpServletRequest request, HttpServletResponse response, String rhTime) {
try {
log.info("----------首先发送支付请求接口----------");
//查询订单信息
......@@ -622,7 +647,7 @@ public class RongHeController {
appMapper.inserOrderHis(id, "支付请求提交!", new Date(), orderView.getOrderName());
return result;
}
}catch (Exception e){
} catch (Exception e) {
e.getMessage();
}
return null;
......
......@@ -412,6 +412,7 @@ public class codeManagerController {
orderWrapper.eq(StringUtils.isNotBlank(idCard), "id_card", idCard);
orderWrapper.in("user_type","3,5,9,10");
orderWrapper.ne("order_status","异常单");
orderWrapper.ne("order_status","已完成");
List<Order> order = orderMapper.selectList(orderWrapper);
if(order.size()>0){
Wrapper<OrderView> wrapper = new EntityWrapper<>();
......
......@@ -237,4 +237,24 @@ public interface OrderMapper extends BaseMapper<Order> {
Map<String, Object> selectForId(@Param("id") String id);
/**
* 根据订单编号查询订单
*
* @param orderSeq
* @return
*/
Map<String, Object> selectByOrderSeq(String orderSeq);
/**
* 根据订单编号删除订单
*
* @param orderSeq
*/
void deleteByKdOrderId(String orderSeq);
List<Order> selectOrders();
List<Order> selectdclkd();
}
......@@ -46,4 +46,12 @@ public interface OrderViewMapper extends BaseMapper<OrderView> {
@Select("select order_university_name from order_view where orderSeq = #{kdOrderId}")
String selectByKdOrderId (@Param("kdOrderId") String kdOrderId);
/**
* 根据订单编号删除订单
*
* @param orderSeq
*/
@Delete("delete from order_view where orderSeq = #{orderSeq}")
void deleteOrderSeq(@Param("orderSeq") String orderSeq);
}
......@@ -95,6 +95,26 @@ public class IntelligenceSendOrders {
@Autowired
private SchoolMapper schoolMapper;
private static List<String> shoolNames = new ArrayList<>();
{
shoolNames.add("广东省民政职业技术学校(wifi)");
shoolNames.add("广东省海洋工程职业技术学校(纯wifi)");
shoolNames.add("广州华夏职业学院(纯wifi)");
shoolNames.add("广东司法警官职业学院");
shoolNames.add("广州土地房产管理职业技术学校");
shoolNames.add("广州航海高等专科学校(纯wifi)");
shoolNames.add("广州城市职业学院滨江鹭江校区(纯wifi)");
shoolNames.add("广东岭南职业技术学院");
shoolNames.add("广东省高新技术技工学校");
shoolNames.add("广州中医药大学南校区");
shoolNames.add("中山大学(大学城)");
shoolNames.add("广州市土地房产管理职业学校(纯wifi)");
shoolNames.add("广东水利电力职业技术学院(纯wifi)");
shoolNames.add("广州南洋理工职业学院(纯wifi)");
shoolNames.add("广州工程技术职业学院(纯wifi)");
}
//@Autowired
//private ZnptSignUtils znptSignUtils;
......@@ -163,7 +183,6 @@ public class IntelligenceSendOrders {
UPTRANSEQ = "00000";
}
//例: productName = "校园宽带30元";
System.out.println("------" + productName);
schoolMap = setPriceIndex(schoolMap, orderViewMap, ORDERAMOUNT);
......@@ -193,9 +212,10 @@ public class IntelligenceSendOrders {
orderWrapper.eq("kd_order_id", orderMap.get("kd_order_id"));
Order updateOrder = new Order();
updateOrder.setOrderStatus("待处理");
// updateOrder.setMsg("下单异常");
updateOrder.setMsg("下单异常");
// updateOrder.setCheckFail(submitOrderJsonObject.getParsingError().toString());
orderMapper.update(updateOrder, orderWrapper);
return;
}
// 4、查询智能订单是否存在
......@@ -229,7 +249,14 @@ public class IntelligenceSendOrders {
Wrapper<Order> orderWrapper = new EntityWrapper<>();
orderWrapper.eq("kd_order_id", orderMap.get("kd_order_id"));
Order updateOrder = new Order();
updateOrder.setMsg((String) orderStatus.get("订单状态名称"));
updateOrder.setOrderId(orderNum);
updateOrder.setThStatus((String) orderStatus.get("订单状态名称"));
updateOrder.setOrderStatus("待处理");
if (orderStatus.get("订单当前状态|状态备注").toString().contains("停机")||orderStatus.get("订单当前状态|状态备注").toString().contains("欠费")){
updateOrder.setMsg("停机/名下欠费");
}else if (orderStatus.get("订单当前状态|状态备注").toString().contains("黑名单")){
updateOrder.setMsg("身份证黑名单");
}
orderMapper.update(updateOrder, orderWrapper);
}
} else {
......@@ -358,14 +385,14 @@ public class IntelligenceSendOrders {
order_data.put("装机详细地址", address);
order_data.put("订单来源单号", (String) orderViewMap.get("orderSeq")); // 订单来源单号,必填; 与订单来源对应,用于业务上记录订单的来源订单编号
order_data.put("订单备注", "");
if (businessType == 3) {
order_data.put("办理类型", "新宽旧移"); //新宽新移 ,新宽旧移,旧宽新移,旧宽旧移
} else if (businessType == 5) {
if (businessType == 5) {
order_data.put("办理类型", "新宽新移"); //新宽新移 ,新宽旧移,旧宽新移,旧宽旧移
order_data.put("付费类型", "预付费"); //预付费、后付费、其他 选填
} else if (businessType == 10) {
order_data.put("办理类型", "旧宽旧移"); //新宽新移 ,新宽旧移,旧宽新移,旧宽旧移
}
order_data.put("付费类型", "预付费"); //预付费、后付费、其他 选填
}
Map<String, String> school = schoolMapper.selectByHeHuorenId(String.valueOf(orderViewMap.get("hehuorenId")));
......@@ -426,12 +453,17 @@ public class IntelligenceSendOrders {
}
attributeList.add(roadbandRate);
if (businessType == 3) {
if (businessType == 3 || businessType == 10) {
AttributeList roadbandExperienceRate = new AttributeList();
roadbandExperienceRate.setName("宽带体验速率");
String expenses = (String) schoolMap.get("expenses");
roadbandExperienceRate.setValue(expenses);
attributeList.add(roadbandExperienceRate);
AttributeList speedBag = new AttributeList();
speedBag.setName("提速包");
speedBag.setValue(schoolMap.get("identifying").toString());
attributeList.add(speedBag);
}
AttributeList broadbandProperties = new AttributeList();
......@@ -454,21 +486,20 @@ public class IntelligenceSendOrders {
AddressID.setValue(addressID);
attributeList.add(AddressID);
if (businessType == 3 || businessType == 10) {
AttributeList type = new AttributeList();
if (businessType == 3){
type.setName("单宽带");
if (((String) orderViewMap.get("orderSetMeal")).contains("包年")) {
if (shoolNames.contains(orderViewMap.get("orderUniversityName"))){
type.setValue("校园宽带(免月租).");
}else if (((String) orderViewMap.get("orderSetMeal")).contains("包年")) {
type.setValue("校园宽带300元/年.");
} else if (((String) orderViewMap.get("orderSetMeal")).contains("包月")) {
type.setValue("校园宽带30元/月.");
} else {
type.setValue("校园宽带(免月租).");
}
}else if (businessType == 10){
type.setName("提速包");
type.setValue(schoolMap.get("identifying").toString());
}
attributeList.add(type);
}
AttributeList internetType = new AttributeList();
internetType.setName("允许上网终端类型");
......@@ -482,15 +513,17 @@ public class IntelligenceSendOrders {
AttributeList schoolName = new AttributeList();
schoolName.setName("学校名称");
schoolName.setValue((String) orderViewMap.get("orderUniversityName"));
schoolName.setValue((String) orderViewMap.get("orderUniversityName").toString().replace(" ",""));
attributeList.add(schoolName);
AttributeList handlingNumber = new AttributeList();
//AttributeList handleNumber = new AttributeList();
if (businessType == 3 || businessType == 10) {
handlingNumber.setName("办理号码");
handlingNumber.setValue((String) orderViewMap.get("orderPhone"));
/*handleNumber.setName("关联第三方账户接入号");
handleNumber.setValue((String) orderViewMap.get("orderPhone"));*/
handlingNumber.setName("关联移动号码");
handlingNumber.setValue((String) orderViewMap.get("orderPhone"));
/*attributeList.add(handleNumber);*/
attributeList.add(handlingNumber);
}
......@@ -557,6 +590,8 @@ public class IntelligenceSendOrders {
}
order_data.put("订购产品", orderingProducts);
if (businessType == 3) {
order_data.put("业务类型", "融合业务"); //业务类型
} else if (businessType == 5) {
......@@ -565,6 +600,16 @@ public class IntelligenceSendOrders {
order_data.put("业务类型", "增值业务"); //业务类型
}
if (businessType ==3 || businessType == 10){
List<HashMap<String, Object>> mobileAccessList = new ArrayList<>();
HashMap<String, Object> mobileAccess = new HashMap<>(); //移动接入
mobileAccess.put("订购类型","已有");
mobileAccess.put("移动接入号",(String) orderViewMap.get("orderPhone"));
mobileAccess.put("号码类型","主卡");
mobileAccessList.add(mobileAccess);
order_data.put("移动接入",mobileAccessList);
}
HashMap<String, Object> broadbandInstalledCapacity = new HashMap<>(); //宽带装机
broadbandInstalledCapacity.put("装机详细地址", address);
broadbandInstalledCapacity.put("省", "广东省");
......@@ -591,8 +636,8 @@ public class IntelligenceSendOrders {
} else if ("xjzf".equals(orderViewMap.get("customerId"))) {
monthlyFeeItems.put("缴费方式", "现金支付");
} else {
monthlyFeeItems.put("缴费方式", "穗易付");
EasyPay easyPay = new EasyPay();
monthlyFeeItems.put("缴费方式", "原套餐缴费方式");
/*EasyPay easyPay = new EasyPay();
easyPay.set穗易付订单号(ORDERREQTRANSEQ);
// suipayPaymentMap.put("穗易付订单号", ORDERREQTRANSEQ);
String payPlatform = (String) orderViewMap.get("iPay");
......@@ -608,7 +653,7 @@ public class IntelligenceSendOrders {
easyPay.set穗易付支付金额(ORDERAMOUNT);
easyPay.set穗易付支付流水号(UPTRANSEQ);
// suipayPayment.add(suipayPaymentMap);
monthlyFeeItems.put("穗易付支付", easyPay);
monthlyFeeItems.put("穗易付支付", easyPay);*/
}
expenseItemsList.add(expenseItemsMap);
monthlyFeeItems.put("费用项列表", expenseItemsList);
......@@ -721,7 +766,6 @@ public class IntelligenceSendOrders {
private Map<String, Object> setPriceIndex(Map<String, Object> schoolMap, Map<String, Object> orderMap, String ORDERAMOUNT) {
try {
// 获取金额下标
System.out.println(orderMap.get("setMealIndex"));
if (schoolMap.get("universityMonthlyRentType") != null && orderMap.get("setMealIndex") != null) {
Integer index = 0;
String setMealIndex = orderMap.get("setMealIndex").toString();
......@@ -765,21 +809,18 @@ public class IntelligenceSendOrders {
String bodyJson = JSONObject.toJSONString(data);
String eurl_data = URLEncoder.encode(bodyJson, "UTF-8");
System.out.println(eurl_data);
String url_data = "data=" + eurl_data;
System.out.println(url_data);
// 获得md5串
String sign = MD5Utils.md5(url_data);
// 获得小写md5串
sign = sign.toLowerCase();
System.out.println(sign);
// RSA加密
byte[] encodedData = RSAUtils.encryptByPublicKey(sign, publicKey);
sign = (new BASE64Encoder()).encodeBuffer(encodedData);
System.out.println("签名:" + sign);
log.info("签名:" + sign);
//去除换行
sign = sign.replaceAll("\\r|\\n", "");
System.out.println("签名2 :" + sign);
log.info("签名2 :" + sign);
JSONObject jsonObject = null;
try {
......@@ -957,13 +998,44 @@ public class IntelligenceSendOrders {
+ " orderNum:"
+ submitOrderJsonObject.getBody());
if (submitOrderJsonObject.getStatus() != 200){
Wrapper<Order> orderWrapper = new EntityWrapper<>();
orderWrapper.eq("kd_order_id", orderMap.get("kd_order_id"));
Order updateOrder = new Order();
updateOrder.setOrderStatus("待处理");
updateOrder.setMsg("下单异常");
// updateOrder.setCheckFail(submitOrderJsonObject.getParsingError().toString());
orderMapper.update(updateOrder, orderWrapper);
return;
}
String orderNum = submitOrderJsonObject.getBody();
JSONObject queryOrderInfo = getQueryOrderInfo(orderNum, 0);
Map<String, Object> map = JSONObject.parseObject(queryOrderInfo.getString("data"));
List<Object> list = (List<Object>) map.get("q");
Map<String, Object> q = (Map<String, Object>) list.get(0);
Map<String, Object> orderStatus = (Map<String, Object>) q.get("订单当前状态");
if (!orderStatus.containsKey("订单当前状态|状态备注")) {
if (orderStatus.containsKey("订单当前状态|状态备注") && "待下单人修改".equals((String) orderStatus.get("订单状态名称"))) {
String ztStatus = (String) orderStatus.get("订单状态名称");
Wrapper<Order> wrapper = new EntityWrapper<>();
wrapper.eq("id", orderMap.get("id"));
Order updateOrder = new Order();
updateOrder.setOrderId(orderNum);
updateOrder.setThStatus(ztStatus);
updateOrder.setOrderStatus("异常单");
if (orderStatus.get("订单当前状态|状态备注").toString().contains("停机")||orderStatus.get("订单当前状态|状态备注").toString().contains("欠费")){
updateOrder.setMsg("停机/名下欠费");
}else if (orderStatus.get("订单当前状态|状态备注").toString().contains("黑名单")){
updateOrder.setMsg("身份证黑名单");
}
orderMapper.update(updateOrder, wrapper);
OrderHistory orderHistory = new OrderHistory();
orderHistory.setOrderId(String.valueOf(orderMap.get("id")));
orderHistory.setCreateDate(new Date());
orderHistory.setStatus("智能平台下单失败" + orderNum);
orderHistoryMapper.insert(orderHistory);
} else{
//5、更新数据库
Wrapper<Order> wrapper = new EntityWrapper<>();
wrapper.eq("id", orderMap.get("id"));
......@@ -985,22 +1057,6 @@ public class IntelligenceSendOrders {
orderHistory.setCreateDate(new Date());
orderHistory.setStatus("智能平台下单成功" + orderNum);
orderHistoryMapper.insert(orderHistory);
} else {
String msg = (String) orderStatus.get("订单当前状态|状态备注");
Wrapper<Order> wrapper = new EntityWrapper<>();
wrapper.eq("id", orderMap.get("id"));
Order updateOrder = new Order();
updateOrder.setOrderStatus("待处理");
updateOrder.setCheckFail(msg);
orderMapper.update(updateOrder, wrapper);
OrderHistory orderHistory = new OrderHistory();
orderHistory.setOrderId(String.valueOf(orderMap.get("id")));
orderHistory.setCreateDate(new Date());
orderHistory.setStatus("智能平台下单失败" + orderNum);
orderHistoryMapper.insert(orderHistory);
}
}
......@@ -1023,21 +1079,18 @@ public class IntelligenceSendOrders {
String bodyJson = JSONObject.toJSONString(data);
String eurl_data = URLEncoder.encode(bodyJson, "UTF-8");
System.out.println(eurl_data);
String url_data = "data=" + eurl_data;
System.out.println(url_data);
// 获得md5串
String sign = MD5Utils.md5(url_data);
// 获得小写md5串
sign = sign.toLowerCase();
System.out.println(sign);
// RSA加密
byte[] encodedData = RSAUtils.encryptByPublicKey(sign, publicKey);
sign = (new BASE64Encoder()).encodeBuffer(encodedData);
System.out.println("签名:" + sign);
log.info("签名:" + sign);
//去除换行
sign = sign.replaceAll("\\r|\\n", "");
System.out.println("签名2 :" + sign);
log.info("签名2 :" + sign);
kong.unirest.HttpResponse<String> responese = null;
try {
......
......@@ -79,6 +79,11 @@
<result column="order_rf2" property="orderRf2"></result>
<result column="orderSeqTHD" property="orderseqThd"/>
</resultMap>
<delete id="deleteByKdOrderId">
delete
from hhr_order
where kd_order_id = #{orderSeq}
</delete>
<select id="selectBroadBandOrderList" resultMap="broadBandOrder">
......@@ -595,15 +600,38 @@
order by create_time desc
</select>
<select id="selectRHList" resultType="java.util.Map">
SELECT * FROM hhr_order
WHERE order_status = '未下单' and (user_type = 3 or user_type = 10) and rh_time &gt;= #{left} and rh_time &lt;= #{right}
SELECT *
FROM hhr_order
WHERE order_status = '未下单'
and (user_type = 3 or user_type = 10)
and rh_time &gt;= #{left}
and rh_time &lt;= #{right}
</select>
<select id="selectNotRHList" resultType="java.util.Map">
SELECT * FROM hhr_order
WHERE order_status = '未下单' and rh_time is null and (user_type = 3 or user_type = 10)
SELECT *
FROM hhr_order
WHERE order_status = '未下单'
and rh_time is null
and (user_type = 3 or user_type = 10)
</select>
<select id="selectForId" resultType="java.util.Map">
select * from hhr_order where id = #{id}
select *
from hhr_order
where id = #{id}
</select>
<select id="selectByOrderSeq" resultType="java.util.Map">
select *
from hhr_order
where kd_order_id = #{orderSeq}
</select>
<select id="selectOrders" resultType="com.winsun.bean.Order">
select *
from hhr_order
where (order_status = '审核中' and kd_order_id is not null)
or (order_status = '待配送' and order_id is not null)
</select>
<select id="selectdclkd" resultType="com.winsun.bean.Order">
select * from hhr_order where order_status = '异常单' and th_status = '待下单人修改'
</select>
......
......@@ -203,7 +203,7 @@ public class OrderTask {
wrapper.isNotNull("kd_order_id");
wrapper.or();
wrapper.eq("order_status", "待配送");
wrapper.isNotNull("kd_order_id");
wrapper.isNotNull("order_id");
List<Order> orders = orderMapper.selectList(wrapper);
......@@ -248,14 +248,23 @@ public class OrderTask {
SendSmsAndMail.sendSms(order.getContactNumber(),
order.getNetNumber(),
order.getNetPassword(), "12");
} else if ("作废".equals(orderStatus.get("订单状态名称").toString()) || "下单异常".equals(orderStatus.get("订单状态名称").toString())
|| "待下单人修改".equals(orderStatus.get("订单状态名称").toString())) {
} else if ("作废".equals(orderStatus.get("订单状态名称").toString()) || "下单异常".equals(orderStatus.get("订单状态名称").toString())) {
orderHistory.setStatus("订单异常请联系管理员");
orderHistoryMapper.insert(orderHistory);
update.setThStatus(orderStatus.get("订单状态名称").toString());
update.setOrderStatus("异常单");
update.setMsg(orderStatus.get("订单状态名称").toString());
orderMapper.updateById(update);
}else if ("待下单人修改".equals(orderStatus.get("订单状态名称").toString())){
update.setMsg(orderStatus.get("订单状态名称").toString());
update.setThStatus(orderStatus.get("订单状态名称").toString());
update.setOrderStatus("异常单");
if (orderStatus.get("订单当前状态|状态备注").toString().contains("停机")||orderStatus.get("订单当前状态|状态备注").toString().contains("欠费")){
update.setMsg("停机/名下欠费");
}else if (orderStatus.get("订单当前状态|状态备注").toString().contains("黑名单")){
update.setMsg("身份证黑名单");
}
orderMapper.updateById(update);
}
}
}
......@@ -263,16 +272,94 @@ public class OrderTask {
log.info("更新宽带和预制卡状态结束");
}
/**
* 定时器更新智能平台状态
*/
@Scheduled(cron = "0 0/10 * * * ?")
public void updateStatus3() throws Exception {
log.info("开始更新宽带状态为异常单但中台状态为带下单人修改的订单");
// 获取审核中的订单
Wrapper<Order> wrapper = new EntityWrapper<>();
wrapper.eq("order_status", "异常单");
wrapper.isNotNull("kd_order_id");
wrapper.eq("th_status","待下单人修改");
List<Order> orders = orderMapper.selectList(wrapper);
// 循环请求获取数据
for (Order order : orders) {
Date createTime = order.getCreateTime();
int i = Integer.parseInt(String.valueOf((new Date().getTime() - createTime.getTime()) / (1000 * 60 * 60 * 24)));
if (StringUtils.isNotBlank(order.getOrderId()) && i <= 7) {
String boday = intelligenceSendOrders.queryStatus(order.getOrderId());
if (StringUtils.isNotBlank(boday)) {
Order update = new Order();
update.setId(order.getId());
update.setUpdateTime(new Date());
OrderHistory orderHistory = new OrderHistory();
orderHistory.setOrderId(order.getId());
orderHistory.setCreateDate(new Date());
orderHistory.setStatus("智能平台状态获取");
JSONObject json = JSONObject.parseObject(boday);
Map<String, Object> map = JSONObject.parseObject(json.getString("data"));
List<Object> list = (List<Object>) map.get("q");
Map<String, Object> map2 = (Map<String, Object>) list.get(0);
Map<String, Object> orderStatus = (Map<String, Object>) map2.get("订单当前状态");
// 未获取到需要的状态不做更新
if ("归档".equals(orderStatus.get("订单状态名称").toString()) || "受理成功待竣工".equals(orderStatus.get("订单状态名称").toString())) {
orderHistory.setStatus("订单已完成");
orderHistoryMapper.insert(orderHistory);
update.setThStatus(orderStatus.get("订单状态名称").toString());
update.setOrderStatus("已完成");
orderMapper.updateById(update);
//查询该订单的学校名称
String schoolName = orderViewMapper.selectByKdOrderId(order.getKdOrderId());
if (schoolSet.contains(schoolName)) {
order.setNetNumber(order.getNetNumber().split("@")[0]);
}
// 下发短信
SendSmsAndMail.sendSms(order.getContactNumber(),
order.getNetNumber(),
order.getNetPassword(), "12");
} else if ("作废".equals(orderStatus.get("订单状态名称").toString()) || "下单异常".equals(orderStatus.get("订单状态名称").toString())) {
orderHistory.setStatus("订单异常请联系管理员");
orderHistoryMapper.insert(orderHistory);
update.setThStatus(orderStatus.get("订单状态名称").toString());
update.setOrderStatus("异常单");
update.setMsg(orderStatus.get("订单状态名称").toString());
orderMapper.updateById(update);
}else if (!"待下单人修改".equals(orderStatus.get("订单状态名称").toString())){
update.setMsg(null);
update.setThStatus(orderStatus.get("订单状态名称").toString());
update.setOrderStatus("审核中");
orderMapper.updateById(update);
}
}
}
}
log.info("结束更新宽带状态为待处理且中台状态为带下单人修改的订单");
}
//@Scheduled(cron = "0 0/5 * * * ?")
public void updateStatus2() throws Exception {
// 获取审核中的订单
Wrapper<Order> wrapper = new EntityWrapper<>();
wrapper.eq("order_status", "审核中");
wrapper.isNotNull("kd_order_id");
wrapper.isNotNull("order_id");
wrapper.or();
wrapper.eq("order_status", "待配送");
wrapper.isNotNull("kd_order_id");
wrapper.isNotNull("order_id");
List<Order> orders = orderMapper.selectList(wrapper);
......
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