Browse Source

Merge branch 'release_toaliyun_real_202210' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_202211

release_toaliyun_real
xhxu 3 years ago
parent
commit
36e96a13ca
5 changed files with 46 additions and 60 deletions
  1. +2
    -2
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java
  2. +7
    -20
      mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java
  3. +6
    -23
      mallinkCallback/src/main/java/com/iformall/controller/callback/WxMemberCardController.java
  4. +5
    -15
      mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java
  5. +26
    -0
      mallinkService/src/main/java/com/iformall/utils/DateUtils.java

+ 2
- 2
mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java View File

@@ -235,11 +235,11 @@ public class WxCouponController extends BaseController {
if (wxCoupon.getId() == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
wxCoupon.updateTenantInfo(getTenantInfo());
WxCoupon coupon = wxCouponService.getById(wxCoupon.getId(),wxCoupon.getTenantId());
if (null == coupon) {
return new ResultData(ResultData.ERROR, "券未查询到。"+wxCoupon.getId());
return new ResultData(ResultData.ERROR, "券未查询到。");
}
wxCoupon.updateTenantInfo(getTenantInfo());
if(EnumDelFlag.YES.getCode().equals(wxCoupon.getIsDel())){
if(!EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode().equals(coupon.getStatus())){
return new ResultData(ResultData.ERROR, "请先作废,再进行删除。");


+ 7
- 20
mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java View File

@@ -14,6 +14,7 @@ import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.pay.WxPayConstant;
import com.iformall.service.*;
import com.iformall.utils.DateUtils;
import com.iformall.utils.MaUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -26,11 +27,8 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

@RestController
@@ -39,8 +37,6 @@ public class WxBusinessOrderController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD'T'HH:mm:ssXXX");

@Autowired
WxMallService wxMallService;

@@ -213,7 +209,7 @@ public class WxBusinessOrderController extends BaseController {
WxBusinessCircleOrder wxBusinessCircleOrder = new WxBusinessCircleOrder();
wxBusinessCircleOrder.updateTenantInfo(tenantEntity);
wxBusinessCircleOrder.setNoticeId(notifyData.getId());
wxBusinessCircleOrder.setNoticeCreateTime(sdf.parse(notifyData.getCreateTime()));
wxBusinessCircleOrder.setNoticeCreateTime(DateUtils.rfc3339Formatter(notifyData.getCreateTime()));
wxBusinessCircleOrder.setNoticeEventType(notifyData.getEventType());
wxBusinessCircleOrder.setSummary(notifyData.getSummary());

@@ -228,7 +224,7 @@ public class WxBusinessOrderController extends BaseController {
wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber());
wxBusinessCircleOrder.setAppid(result.getAppid());
wxBusinessCircleOrder.setOpenid(result.getOpenid());
wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getTimeEnd()));
wxBusinessCircleOrder.setTimeEnd(DateUtils.rfc3339Formatter(result.getTimeEnd()));
wxBusinessCircleOrder.setAmount(result.getAmount());
wxBusinessCircleOrder.setPayAmount(result.getAmount());
wxBusinessCircleOrder.setTransactionId(result.getTransactionId());
@@ -248,7 +244,7 @@ public class WxBusinessOrderController extends BaseController {
wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber());
wxBusinessCircleOrder.setAppid(result.getAppid());
wxBusinessCircleOrder.setOpenid(result.getOpenid());
wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getRefundTime()));
wxBusinessCircleOrder.setTimeEnd(DateUtils.rfc3339Formatter(result.getRefundTime()));
wxBusinessCircleOrder.setAmount(result.getPayAmount());
wxBusinessCircleOrder.setPayAmount(result.getPayAmount());
wxBusinessCircleOrder.setTransactionId(result.getTransactionId());
@@ -268,11 +264,6 @@ public class WxBusinessOrderController extends BaseController {
logger.error("微信商圈通知---"+e.getCustomErrorMsg());
resultMap.put("code","FAIL");
return resultMap;
} catch (ParseException e) {
e.printStackTrace();
logger.error("微信商圈通知---时间转换异常");
resultMap.put("code","FAIL");
return resultMap;
} catch(MallinkException e){
logger.error("微信商圈通知---"+e.getMessage());
resultMap.put("code","FAIL");
@@ -349,7 +340,7 @@ public class WxBusinessOrderController extends BaseController {
// WxBusinessCircleOrder wxBusinessCircleOrder = new WxBusinessCircleOrder();
// wxBusinessCircleOrder.updateTenantInfo(tenantEntity);
// wxBusinessCircleOrder.setNoticeId(notifyData.getId());
// wxBusinessCircleOrder.setNoticeCreateTime(sdf.parse(notifyData.getCreateTime()));
// wxBusinessCircleOrder.setNoticeCreateTime(DateUtils.rfc3339Formatter(notifyData.getCreateTime()));
// wxBusinessCircleOrder.setNoticeEventType(notifyData.getEventType());
// wxBusinessCircleOrder.setSummary(notifyData.getSummary());
//
@@ -364,7 +355,7 @@ public class WxBusinessOrderController extends BaseController {
// wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber());
// wxBusinessCircleOrder.setAppid(result.getAppid());
// wxBusinessCircleOrder.setOpenid(result.getOpenid());
// wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getTimeEnd()));
// wxBusinessCircleOrder.setTimeEnd(DateUtils.rfc3339Formatter(result.getTimeEnd()));
// wxBusinessCircleOrder.setAmount(result.getAmount());
// wxBusinessCircleOrder.setPayAmount(result.getAmount());
// wxBusinessCircleOrder.setTransactionId(result.getTransactionId());
@@ -382,7 +373,7 @@ public class WxBusinessOrderController extends BaseController {
// wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber());
// wxBusinessCircleOrder.setAppid(result.getAppid());
// wxBusinessCircleOrder.setOpenid(result.getOpenid());
// wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getRefundTime()));
// wxBusinessCircleOrder.setTimeEnd(DateUtils.rfc3339Formatter(result.getRefundTime()));
// wxBusinessCircleOrder.setAmount(result.getPayAmount());
// wxBusinessCircleOrder.setPayAmount(result.getPayAmount());
// wxBusinessCircleOrder.setTransactionId(result.getTransactionId());
@@ -397,10 +388,6 @@ public class WxBusinessOrderController extends BaseController {
// e.printStackTrace();
// logger.error("微信商圈通知---"+e.getCustomErrorMsg());
//
// } catch (ParseException e) {
// e.printStackTrace();
// logger.error("微信商圈通知---时间转换异常");
//
// } catch(MallinkException e){
// logger.error("微信商圈通知---"+e.getMessage());
//


+ 6
- 23
mallinkCallback/src/main/java/com/iformall/controller/callback/WxMemberCardController.java View File

@@ -1,8 +1,5 @@
package com.iformall.controller.callback;

import com.github.binarywang.wxpay.bean.businesscircle.BusinessCircleNotifyData;
import com.github.binarywang.wxpay.bean.businesscircle.PaidResult;
import com.github.binarywang.wxpay.bean.businesscircle.RefundResult;
import com.github.binarywang.wxpay.bean.ecommerce.SignatureHeader;
import com.github.binarywang.wxpay.bean.membercard.MemberCardActivateResult;
import com.github.binarywang.wxpay.bean.membercard.MemberCardNotifyData;
@@ -10,7 +7,6 @@ import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxBusinessCircleOrder;
import com.iformall.domain.po.WxMemberCard;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.domain.po.base.TenantEntity;
@@ -20,6 +16,7 @@ import com.iformall.enums.EnumMemberCardStatus;
import com.iformall.exception.MallinkException;
import com.iformall.pay.WxPayConstant;
import com.iformall.service.*;
import com.iformall.utils.DateUtils;
import com.iformall.utils.MaUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -32,10 +29,7 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

@RestController
@@ -44,8 +38,6 @@ public class WxMemberCardController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD'T'HH:mm:ssXXX");

@Autowired
WxMallService wxMallService;

@@ -123,7 +115,7 @@ public class WxMemberCardController extends BaseController {
memberCard.setUnionId(result.getUnionid());
if(WxPayConstant.MEMBER_CARD_ACTIVATE.equals(result.getEventType())){
memberCard.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode());
memberCard.setCreateDate(sdf.parse(result.getEventTime()));
memberCard.setCreateDate(DateUtils.rfc3339Formatter(result.getEventTime()));
memberCard.setActivateScene(EnumMemberCardActivateScene.getEnum(result.getActivateScene()).getCode());
// memberCard.setOuterStr(result.getOuterStr());
wxMemberCardService.saveorupdateByCode(memberCard);
@@ -135,7 +127,7 @@ public class WxMemberCardController extends BaseController {
resultMap.put("code","SUCCESS");
return resultMap;
}else if(WxPayConstant.USER_DELETE_MEMBERCARD.equals(result.getEventType())){
memberCard.setUpdateDate(sdf.parse(result.getEventTime()));
memberCard.setUpdateDate(DateUtils.rfc3339Formatter(result.getEventTime()));
memberCard.setUserCardStatus(EnumMemberCardStatus.DELETE.getCode());
wxMemberCardService.delUserCardStatusByCode(memberCard);

@@ -155,11 +147,6 @@ public class WxMemberCardController extends BaseController {
logger.error("微信会员卡通知---"+e.getCustomErrorMsg());
resultMap.put("code","FAIL");
return resultMap;
} catch (ParseException e) {
e.printStackTrace();
logger.error("微信会员卡通知---时间转换异常");
resultMap.put("code","FAIL");
return resultMap;
} catch(MallinkException e){
logger.error("微信会员卡通知---"+e.getMessage());
resultMap.put("code","FAIL");
@@ -236,7 +223,7 @@ public class WxMemberCardController extends BaseController {
// WxBusinessCircleOrder wxBusinessCircleOrder = new WxBusinessCircleOrder();
// wxBusinessCircleOrder.updateTenantInfo(tenantEntity);
// wxBusinessCircleOrder.setNoticeId(notifyData.getId());
// wxBusinessCircleOrder.setNoticeCreateTime(sdf.parse(notifyData.getCreateTime()));
// wxBusinessCircleOrder.setNoticeCreateTime(DateUtils.rfc3339Formatter(notifyData.getCreateTime()));
// wxBusinessCircleOrder.setNoticeEventType(notifyData.getEventType());
// wxBusinessCircleOrder.setSummary(notifyData.getSummary());
//
@@ -251,7 +238,7 @@ public class WxMemberCardController extends BaseController {
// wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber());
// wxBusinessCircleOrder.setAppid(result.getAppid());
// wxBusinessCircleOrder.setOpenid(result.getOpenid());
// wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getTimeEnd()));
// wxBusinessCircleOrder.setTimeEnd(DateUtils.rfc3339Formatter(result.getTimeEnd()));
// wxBusinessCircleOrder.setAmount(result.getAmount());
// wxBusinessCircleOrder.setPayAmount(result.getAmount());
// wxBusinessCircleOrder.setTransactionId(result.getTransactionId());
@@ -269,7 +256,7 @@ public class WxMemberCardController extends BaseController {
// wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber());
// wxBusinessCircleOrder.setAppid(result.getAppid());
// wxBusinessCircleOrder.setOpenid(result.getOpenid());
// wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getRefundTime()));
// wxBusinessCircleOrder.setTimeEnd(DateUtils.rfc3339Formatter(result.getRefundTime()));
// wxBusinessCircleOrder.setAmount(result.getPayAmount());
// wxBusinessCircleOrder.setPayAmount(result.getPayAmount());
// wxBusinessCircleOrder.setTransactionId(result.getTransactionId());
@@ -284,10 +271,6 @@ public class WxMemberCardController extends BaseController {
// e.printStackTrace();
// logger.error("微信商圈通知---"+e.getCustomErrorMsg());
//
// } catch (ParseException e) {
// e.printStackTrace();
// logger.error("微信商圈通知---时间转换异常");
//
// } catch(MallinkException e){
// logger.error("微信商圈通知---"+e.getMessage());
//


+ 5
- 15
mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java View File

@@ -13,9 +13,7 @@ import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.AfterAddCreditMsg;
import com.iformall.domain.po.msg.AfterBusinessCreditMsg;
import com.iformall.domain.po.msg.AfterCarInOutMsg;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxBusinessCircleOrderMapper;
@@ -35,19 +33,14 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;

@Service
public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderService {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD'T'HH:mm:ssXXX");

private final String WX_CIRCLE_KEY = "CIRCLE:WX:";

@Autowired
@@ -412,11 +405,11 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
request.setEarnPoints(true);
request.setIncreasedPoints(record.getIncreasedPoints());

request.setPointsUpdateTime(sdf.format(record.getPointsUpdateTime()));
request.setPointsUpdateTime(DateUtils.toRfc3339Str(record.getPointsUpdateTime()));
}else{
request.setEarnPoints(false);
request.setIncreasedPoints(0);
request.setPointsUpdateTime(sdf.format(new Date()));
request.setPointsUpdateTime(DateUtils.toRfc3339Str(new Date()));
request.setNoPointsRemarks("该订单不参与积分活动");
}
try {
@@ -484,17 +477,14 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
updCuser.updateTenantInfo(tenantEntity);
updCuser.setOpenId(authorizations.getOpenid());
updCuser.setAuthorizeState(authorizeState.getCode());
updCuser.setAuthorizeTime(sdf.parse(authorizations.getAuthorizeTime()));
updCuser.setDeauthorizeTime(sdf.parse(authorizations.getDeauthorizeTime()));
updCuser.setAuthorizeTime(DateUtils.rfc3339Formatter(authorizations.getAuthorizeTime()));
updCuser.setDeauthorizeTime(DateUtils.rfc3339Formatter(authorizations.getDeauthorizeTime()));
wxCUserService.updateAuthorizeStateByOpenId(updCuser);
}
return new ResultData(authorizeState);
} catch (WxPayException e) {
e.printStackTrace();
return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage());
} catch (ParseException e) {
e.printStackTrace();
return new ResultData(ErrorCode.SYS_CLASSCAST_ERROR.getCode(),"时间转换异常");
}
}

@@ -542,7 +532,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
request.setOpenid(openId);
request.setPlateNumber(plate_number);
request.setState(state);
request.setTime(sdf.format(time));
request.setTime(DateUtils.toRfc3339Str(time));

wxPayService.getBusinessCircleService().notifyParkings(request);
return new ResultData();


+ 26
- 0
mallinkService/src/main/java/com/iformall/utils/DateUtils.java View File

@@ -1,5 +1,8 @@
package com.iformall.utils;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;

import javax.xml.datatype.XMLGregorianCalendar;
import java.sql.Timestamp;
import java.text.DateFormat;
@@ -1444,4 +1447,27 @@ public class DateUtils {
return 0;
}
}

/**
* 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE
* 转换
* @param rfcDate
* @return
*/
public static Date rfc3339Formatter(String rfcDate) {
DateTime dateTime = new DateTime(rfcDate);
long timeInMillis = dateTime.toCalendar(Locale.getDefault()).getTimeInMillis();
return new Date(timeInMillis);
}

/**
* 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE
* 转换 北京时间
* @param date
* @return
*/
public static String toRfc3339Str(Date date) {
DateTime dateTime = new DateTime(date, DateTimeZone.forTimeZone(TimeZone.getTimeZone("Asia/Shanghai")));
return dateTime.toString();
}
}

Loading…
Cancel
Save