|
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.ylx.common.config.WechatAccountConfig;
|
|
import com.ylx.common.constant.MassageConstants;
|
|
import com.ylx.common.constant.MassageConstants;
|
|
import com.ylx.common.core.domain.R;
|
|
import com.ylx.common.core.domain.R;
|
|
import com.ylx.common.exception.ServiceException;
|
|
import com.ylx.common.exception.ServiceException;
|
|
@@ -48,6 +49,11 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
@Resource
|
|
@Resource
|
|
private TOrderMapper orderMapper;
|
|
private TOrderMapper orderMapper;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private WechatAccountConfig wxPayProperties;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
private TWxUserService wxUserService;
|
|
private TWxUserService wxUserService;
|
|
|
|
|
|
@@ -261,7 +267,7 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
param.set("time6", JSONUtil.createObj().set("value", DateTimeUtils.formatDate(new Date(), DateTimeUtils.DATE_NUMBER_YEAR_MONTH_FORMAT)));
|
|
param.set("time6", JSONUtil.createObj().set("value", DateTimeUtils.formatDate(new Date(), DateTimeUtils.DATE_NUMBER_YEAR_MONTH_FORMAT)));
|
|
param.set("thing27", JSONUtil.createObj().set("value", order.getName() + " " + order.getAddress()));
|
|
param.set("thing27", JSONUtil.createObj().set("value", order.getName() + " " + order.getAddress()));
|
|
TJs js = jsService.getById(order.getcJsId());
|
|
TJs js = jsService.getById(order.getcJsId());
|
|
- weChatUtil.notification(js.getcOpenId(), param);
|
|
|
|
|
|
+ weChatUtil.notification(js.getcOpenId(), wxPayProperties.getTemplateId1(), param);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -473,37 +479,52 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
// 根据orderid查询订单信息
|
|
// 根据orderid查询订单信息
|
|
TOrder orderNew = getById(order.getcId());
|
|
TOrder orderNew = getById(order.getcId());
|
|
//待接单
|
|
//待接单
|
|
-// if (Objects.equals(orderNew.getnStatus(), OrderStatusEnum.WAIT_JD.getCode())) {
|
|
|
|
-// TWxUser user = wxUserService.getById(orderNew.getcOpenId());
|
|
|
|
-// // 更新用户金额 及下单此时
|
|
|
|
-// TWxUser paramUser = new TWxUser();
|
|
|
|
-// paramUser.setcOpenid(user.getcOpenid());
|
|
|
|
-// // 金额归还对应账户
|
|
|
|
-// paramUser.setdBalance(user.getdBalance().add(orderNew.getdTotalMoney()));
|
|
|
|
-// // 消费金额对应减少
|
|
|
|
-// paramUser.setdMoney(user.getdMoney().subtract(orderNew.getdTotalMoney()));
|
|
|
|
-// // 下单次数减一
|
|
|
|
-// paramUser.setnNum(user.getnNum() - MassageConstants.INTEGER_ONE);
|
|
|
|
-// wxUserService.updateById(paramUser);
|
|
|
|
-//
|
|
|
|
-// // 更新项目数据
|
|
|
|
-// JSONArray objects = orderNew.getcGoods();
|
|
|
|
-// objects.forEach(item -> {
|
|
|
|
-// UpdateWrapper<TXiangmu> wrapper = new UpdateWrapper<>();
|
|
|
|
-// // 获取参数
|
|
|
|
-// wrapper.lambda().eq(TXiangmu::getcId, ((JSONObject) item).getString("cId"));
|
|
|
|
-// // 设置数量
|
|
|
|
-// wrapper.setSql(" n_sale_number = n_sale_number - " + ((JSONObject) item).getInteger("number"));
|
|
|
|
-// xiangmuService.update(wrapper);
|
|
|
|
-// });
|
|
|
|
-// TOrder orderParam = new TOrder();
|
|
|
|
-// orderParam.setcId(orderNew.getcId());
|
|
|
|
-// orderParam.setnStatus(OrderStatusEnum.CANCEL.getCode());
|
|
|
|
-// return updateById(orderParam);
|
|
|
|
-//
|
|
|
|
-// } else
|
|
|
|
-
|
|
|
|
- if (Objects.equals(orderNew.getnStatus(), OrderStatusEnum.WAIT_PAY.getCode())) {
|
|
|
|
|
|
+ if (Objects.equals(orderNew.getnStatus(), OrderStatusEnum.WAIT_JD.getCode())) {
|
|
|
|
+ TWxUser user = wxUserService.getById(orderNew.getcOpenId());
|
|
|
|
+ // 更新用户金额 及下单此时
|
|
|
|
+ TWxUser paramUser = new TWxUser();
|
|
|
|
+ paramUser.setId(user.getId());
|
|
|
|
+ paramUser.setcOpenid(user.getcOpenid());
|
|
|
|
+
|
|
|
|
+ if (orderNew.getPayType() == 2) {
|
|
|
|
+ // 金额归还对应账户
|
|
|
|
+ paramUser.setdBalance(user.getdBalance().add(orderNew.getTotalPrice()));
|
|
|
|
+ } else {
|
|
|
|
+ // 微信支付
|
|
|
|
+ // 生成退款单退款
|
|
|
|
+ RefundVoucher refundVoucher = new RefundVoucher();
|
|
|
|
+ refundVoucher.setRefundNo(generator.generateNextOrderNumber(OrderNumberGenerator.KEY_PREFIX_REFUND));
|
|
|
|
+ refundVoucher.setOrderNo(orderNew.getOrderNo());
|
|
|
|
+ refundVoucher.setMoney(orderNew.getTotalPrice());
|
|
|
|
+ refundVoucher.setOpenId(orderNew.getcOpenId());
|
|
|
|
+ refundVoucher.setReStatus(MassageConstants.INTEGER_ZERO);
|
|
|
|
+ refundVoucher.setReason("技师拒绝接单");
|
|
|
|
+ refundVoucherService.save(refundVoucher);
|
|
|
|
+ // 微信退款原路返回
|
|
|
|
+ rechargeService.refund(refundVoucher.getRefundNo(), null, orderNew.getOrderNo(), orderNew.getTotalPrice());
|
|
|
|
+ }
|
|
|
|
+ // 消费金额对应减少
|
|
|
|
+ paramUser.setdMoney(user.getdMoney().subtract(orderNew.getTotalPrice()));
|
|
|
|
+ // 下单次数减一
|
|
|
|
+ paramUser.setnNum(user.getnNum() - MassageConstants.INTEGER_ONE);
|
|
|
|
+ wxUserService.updateById(paramUser);
|
|
|
|
+
|
|
|
|
+ // 更新项目数据
|
|
|
|
+ JSONArray objects = orderNew.getcGoods();
|
|
|
|
+ objects.forEach(item -> {
|
|
|
|
+ UpdateWrapper<TXiangmu> wrapper = new UpdateWrapper<>();
|
|
|
|
+ // 获取参数
|
|
|
|
+ wrapper.lambda().eq(TXiangmu::getcId, ((JSONObject) item).getString("cId"));
|
|
|
|
+ // 设置数量
|
|
|
|
+ wrapper.setSql(" n_sale_number = n_sale_number - " + ((JSONObject) item).getInteger("number"));
|
|
|
|
+ xiangmuService.update(wrapper);
|
|
|
|
+ });
|
|
|
|
+ TOrder orderParam = new TOrder();
|
|
|
|
+ orderParam.setcId(orderNew.getcId());
|
|
|
|
+ orderParam.setnStatus(OrderStatusEnum.CANCEL.getCode());
|
|
|
|
+ return updateById(orderParam);
|
|
|
|
+
|
|
|
|
+ } else if (Objects.equals(orderNew.getnStatus(), OrderStatusEnum.WAIT_PAY.getCode())) {
|
|
//待付款
|
|
//待付款
|
|
TOrder orderParam = new TOrder();
|
|
TOrder orderParam = new TOrder();
|
|
orderParam.setcId(orderNew.getcId());
|
|
orderParam.setcId(orderNew.getcId());
|