| @@ -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, "请先作废,再进行删除。"); | |||
| @@ -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()); | |||
| // | |||
| @@ -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()); | |||
| // | |||
| @@ -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(); | |||
| @@ -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(); | |||
| } | |||
| } | |||