|
|
|
@@ -3,15 +3,18 @@ package com.iformall.controller; |
|
|
|
import com.iformall.common.ErrorCode; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.WxCardInfo; |
|
|
|
import com.iformall.domain.po.WxCoupon; |
|
|
|
import com.iformall.domain.po.WxCouponPassword; |
|
|
|
import com.iformall.domain.po.WxMerchantBUser; |
|
|
|
import com.iformall.domain.vo.WxCardSpendVo; |
|
|
|
import com.iformall.domain.vo.WxCouponOrderCVo; |
|
|
|
import com.iformall.enums.EnumCardInfoType; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import com.iformall.pay.WxPayConstant; |
|
|
|
import com.iformall.service.PosBrunService; |
|
|
|
import com.iformall.service.WxCardInfoService; |
|
|
|
import com.iformall.service.WxCouponPasswordService; |
|
|
|
import com.iformall.service.WxCouponService; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import com.iformall.utils.DateUtils; |
|
|
|
|
|
|
|
@@ -38,6 +41,12 @@ public class WxCardInfoController extends BaseController { |
|
|
|
@Autowired |
|
|
|
private WxCardInfoService wxCardInfoService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxCouponPasswordService couponPasswordService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxCouponService wxCouponService; |
|
|
|
|
|
|
|
@ApiOperation(value = "查询卡信息") |
|
|
|
@GetMapping("detail") |
|
|
|
@ApiImplicitParams({ |
|
|
|
@@ -49,30 +58,48 @@ public class WxCardInfoController extends BaseController { |
|
|
|
String cardIdStr = dynamicId; |
|
|
|
boolean isECard = false; |
|
|
|
WxCardInfo cardInfo = null; |
|
|
|
Map map = new HashMap(); |
|
|
|
String _decodeCouponOrderId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(dynamicId); |
|
|
|
if (_decodeCouponOrderId.contains(WxCouponOrderCVo.arg)) { |
|
|
|
String[] decodeids = _decodeCouponOrderId.split(WxCouponOrderCVo.arg); |
|
|
|
cardIdStr = decodeids[0]; |
|
|
|
isECard = true; |
|
|
|
cardInfo = wxCardInfoService.getById(Long.parseLong(cardIdStr)); |
|
|
|
if (null == cardInfo) { |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr); |
|
|
|
} |
|
|
|
map.put("cardId", cardInfo.getId()); |
|
|
|
map.put("amount", cardInfo.getAmount()); |
|
|
|
map.put("remainAmount", cardInfo.getRemainingAmount()); |
|
|
|
map.put("cardType", cardInfo.getType()); |
|
|
|
}else { |
|
|
|
Long couponPasswordId = Long.parseLong(cardIdStr); |
|
|
|
//实体卡 |
|
|
|
cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, getTenantInfo()); |
|
|
|
} |
|
|
|
|
|
|
|
if (null == cardInfo) { |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr); |
|
|
|
} |
|
|
|
Map map = new HashMap(); |
|
|
|
if (isECard) { |
|
|
|
map.put("cardId", cardInfo.getId()); |
|
|
|
}else { |
|
|
|
map.put("cardId", cardInfo.getCouponPasswordId()); |
|
|
|
WxCouponPassword password = couponPasswordService.getById(couponPasswordId); |
|
|
|
if (null == password) { |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr); |
|
|
|
} |
|
|
|
cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, password); |
|
|
|
if (null != cardInfo) { |
|
|
|
map.put("cardId", cardInfo.getId()); |
|
|
|
map.put("amount", cardInfo.getAmount()); |
|
|
|
map.put("remainAmount", cardInfo.getRemainingAmount()); |
|
|
|
map.put("cardType", cardInfo.getType()); |
|
|
|
}else { |
|
|
|
//第一次刷卡的时候没有cardInfo |
|
|
|
WxCoupon cq = new WxCoupon(); |
|
|
|
cq.updateTenantInfo(password); |
|
|
|
cq.setId(password.getCouponId()); |
|
|
|
WxCoupon coupon = wxCouponService.findById(cq); |
|
|
|
if (null == coupon) { |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡未查询到券:"+cardIdStr); |
|
|
|
} |
|
|
|
map.put("cardId", couponPasswordId); |
|
|
|
map.put("amount", coupon.getPrice()); |
|
|
|
map.put("remainAmount", coupon.getPrice()); |
|
|
|
map.put("cardType", EnumCardInfoType.CARD.getCode()); |
|
|
|
} |
|
|
|
} |
|
|
|
map.put("amount", cardInfo.getAmount()); |
|
|
|
map.put("remainAmount", cardInfo.getRemainingAmount()); |
|
|
|
map.put("cardType", cardInfo.getType()); |
|
|
|
return new ResultData(map); |
|
|
|
} |
|
|
|
} |