| | |
| | | import com.ruoyi.other.service.TActivityService; |
| | | import com.ruoyi.other.service.TCouponService; |
| | | import com.ruoyi.other.service.TGoodsService; |
| | | import com.ruoyi.payment.api.feignClient.AliPaymentClient; |
| | | import com.ruoyi.payment.api.feignClient.WxPaymentClient; |
| | | import com.ruoyi.payment.api.vo.AliPaymentReq; |
| | | import com.ruoyi.payment.api.vo.AliPaymentResp; |
| | | import com.ruoyi.payment.api.vo.PaymentOrder; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | @GetMapping("/getInfoByType") |
| | | @ApiOperation(tags = {"小程序-兑换商城"},value = "商品查看详情") |
| | | public R getInfoByType(Integer goodType,Integer id) { |
| | | public R getInfoByType(Integer goodType,Integer id,Integer type) { |
| | | if (goodType==1){ |
| | | TGoods byId = goodsService.getById(id); |
| | | if (byId==null||byId.getStatus()==2){ |
| | | return R.fail(2,"内容不存在"); |
| | | return R.fail(2,"该商品已不存在"); |
| | | } |
| | | // List<Integer> data = orderClient.getSalesCountByGoodsId(String.valueOf(id)).getData(); |
| | | // for (int i = 0; i < list.size(); i++) { |
| | | // list.get(i).setSalesCount(data.get(i)); |
| | | // } |
| | | |
| | | Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(), 1, type).getData(); |
| | | byId.setSalesCount(data); |
| | | return R.ok(byId); |
| | | } |
| | | else { |
| | | TCoupon byId = couponService.getById(id); |
| | | if (byId==null||byId.getStatus()==2){ |
| | | return R.fail(2,"内容不存在"); |
| | | return R.fail(2,"该商品已不存在"); |
| | | } |
| | | return R.ok(byId); |
| | | Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(),2, type).getData(); |
| | | byId.setSalesCount(data); |
| | | return R.ok(byId); |
| | | } |
| | | } |
| | | |
| | |
| | | return AjaxResult.error("当前用户已兑换"+count+"张"); |
| | | }else { |
| | | //减少库存 |
| | | good.setInventory(good.getInventory()-exchangeDto.getNum()); |
| | | goodsService.updateById(good); |
| | | if (good.getInventory()!=-1) { |
| | | good.setInventory(good.getInventory() - exchangeDto.getNum()); |
| | | goodsService.updateById(good); |
| | | } |
| | | } |
| | | if (user.getPoints()<good.getRedeemPoints()){ |
| | | return AjaxResult.error("当前用户积分不足"); |
| | |
| | | if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) { |
| | | return AjaxResult.error("当前用户已到达兑换"+coupon+"次"); |
| | | }else { |
| | | coupon.setInventoryQuantity(coupon.getInventoryQuantity()-1); |
| | | couponService.updateById(coupon); |
| | | if (coupon.getInventoryQuantity()!=-1) { |
| | | coupon.setInventoryQuantity(coupon.getInventoryQuantity() - 1); |
| | | couponService.updateById(coupon); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | @Resource |
| | | private AliPaymentClient aliPaymentClient; |
| | | |
| | | @ApiOperation(tags = {"小程序-现金商城"},value = "支付商品") |
| | | @PostMapping(value = "/app/pay") |
| | | public R<Map<String, Object>> pay(@RequestBody ExchangeDto exchangeDto) { |
| | | public Object pay(@RequestBody ExchangeDto exchangeDto) { |
| | | Long userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TAppUser user = appUserClient.getUserById(userId).getData(); |
| | | boolean isVip = false; |
| | |
| | | //调起支付 |
| | | PaymentOrder paymentOrder = new PaymentOrder(); |
| | | paymentOrder.setCode(shopOrder.getCode()); |
| | | paymentOrder.setAmount(exchangeDto.getOrderPrice()); |
| | | paymentOrder.setAmount(exchangeDto.getPayPrice()); |
| | | paymentOrder.setOpenId(user.getWxOpenid()); |
| | | paymentOrder.setDescription("购买商品"); |
| | | R<Map<String, Object>> mapR = wxPaymentClient.orderPay(paymentOrder); |
| | | mapR.getData().put("orderId",shopOrder.getId().toString()); |
| | | return mapR; |
| | | }else { |
| | | //todo 罗 支付宝支付 |
| | | return R.ok(); |
| | | AliPaymentReq req = new AliPaymentReq(); |
| | | req.setOutTradeNo(shopOrder.getCode()); |
| | | req.setTotalAmount(shopOrder.getPaymentAmount().toString()); |
| | | req.setSubject("购买商品"); |
| | | req.setBuyerOpenId(user.getAliOpenid()); |
| | | req.setBody("购买商品"); |
| | | req.setNotifyUrl("/payment/ali/callBack"); |
| | | AliPaymentResp data = aliPaymentClient.payment(req).getData(); |
| | | if(null != data){ |
| | | data.setOrderId(shopOrder.getId().toString()); |
| | | return AjaxResult.success(data); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |