| | |
| | | public class XcxPayServiceImpl implements IXcxPayService { |
| | | |
| | | @Autowired |
| | | private HappyActivityOrderMapper happyActivityOrderMapper; |
| | | |
| | | @Autowired |
| | | private HappyActivityMapper happyActivityMapper; |
| | | |
| | | @Autowired |
| | | private MallOrderInfoMapper mallOrderInfoMapper; |
| | | @Autowired |
| | | private MallMemberMapper mallMemberMapper; |
| | |
| | | } |
| | | mallOrderInfo.setWxOrderNo(payData.getPrepay_id()); |
| | | mallOrderInfoMapper.updateById(mallOrderInfo); |
| | | return payData; |
| | | } |
| | | |
| | | @Override |
| | | public BrandWCPayRequestData startPaymentActivity(HappyActivityOrder dto) throws Exception { |
| | | BigDecimal unit = new BigDecimal("100"); |
| | | BigDecimal money = new BigDecimal(dto.getAmount().toString()); |
| | | BrandWCPayRequestData payData; |
| | | HappyActivity happyActivity = happyActivityMapper.selectById(dto.getActivityId()); |
| | | String productNames = getActivityNames(happyActivity.getId(),dto.getNumCnt()); |
| | | MallMember mallMember = mallMemberMapper.selectById(dto.getMemberId()); |
| | | Boolean debug = xcxProperties.getDebug(); |
| | | if (debug) { |
| | | payData = weixinServiceUtil.createActivityOrder("[测试]" + productNames, dto.getOrderNo(), |
| | | 1, mallMember.getOpenId(), String.valueOf(dto.getId())); |
| | | } else { |
| | | payData = weixinServiceUtil.createActivityOrder(productNames, dto.getOrderNo(), |
| | | unit.multiply(money).intValue(),mallMember.getOpenId(), String.valueOf(dto.getId())); |
| | | } |
| | | dto.setWxOrderNo(payData.getPrepay_id()); |
| | | happyActivityOrderMapper.updateById(dto); |
| | | return payData; |
| | | } |
| | | |
| | |
| | | } |
| | | return productNames; |
| | | } |
| | | |
| | | /** |
| | | * 根据用户ID和订单ID获取所购买商品名称 |
| | | * @return 所含商品名称(多个以","隔开) |
| | | */ |
| | | public String getActivityNames(Long activityId,Integer numCnt) { |
| | | HappyActivity happyActivity = happyActivityMapper.selectById(activityId); |
| | | StringBuffer productNameBuffer = new StringBuffer(); |
| | | Integer maxLength = 25; |
| | | String goodsName = happyActivity.getName(); |
| | | if (goodsName.length() > maxLength) { |
| | | productNameBuffer.append(goodsName.substring(0, maxLength) + "*"+numCnt); |
| | | }else{ |
| | | productNameBuffer.append(goodsName+"*"+numCnt); |
| | | } |
| | | return productNameBuffer.toString(); |
| | | } |
| | | } |