trading-order-admin/src/main/java/com/yami/trading/admin/controller/c2c/C2cOrderController.java
@@ -2,22 +2,28 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yami.trading.admin.controller.c2c.model.*; import com.yami.trading.bean.c2c.C2cAdvert; import com.yami.trading.bean.c2c.C2cOrder; import com.yami.trading.bean.model.C2cPaymentMethod; import com.yami.trading.bean.model.C2cPaymentMethodConfig; import com.yami.trading.bean.model.Log; import com.yami.trading.bean.model.User; import com.yami.trading.common.constants.Constants; import com.yami.trading.common.domain.Result; import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.common.util.C2cOrderLock; import com.yami.trading.common.util.IPHelper; import com.yami.trading.common.util.StringUtils; import com.yami.trading.common.util.ThreadUtils; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.c2c.C2cAdvertService; import com.yami.trading.service.c2c.C2cOrderService; import com.yami.trading.service.c2c.C2cPaymentMethodConfigService; import com.yami.trading.service.chat.otc.OtcOnlineChatMessageService; import com.yami.trading.service.item.ItemService; import com.yami.trading.service.rate.ExchangeRateService; import com.yami.trading.service.user.UserService; import com.yami.trading.sys.model.SysUser; import com.yami.trading.sys.service.SysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -25,6 +31,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.text.MessageFormat; import java.util.*; @RestController @@ -51,6 +58,9 @@ @Autowired UserService userService; @Autowired C2cPaymentMethodConfigService c2cPaymentMethodConfigService; // // private final String action = "normal/adminC2cOrderAction!"; // @@ -215,4 +225,89 @@ return Result.succeed(detail_map); } public String verifAdd(String orderNo, String method_config_id, String real_name, String param_value1, String login_safeword) { if (StringUtils.isNullOrEmpty(orderNo)) { return "请传入订单号"; } if (StringUtils.isNullOrEmpty(method_config_id)) { return "支付方式模板不正确"; } if (StringUtils.isNullOrEmpty(real_name)) { return "真实姓名必填"; } if (StringUtils.isNullOrEmpty(param_value1)) { return "参数值1必填"; } if (StringUtils.isNullOrEmpty(login_safeword)) { return "资金密码错误"; } return ""; } @PostMapping("setC2cOrderPayMethod") @ApiOperation("设置C2C订单支付方式") public Result setC2cOrderPayMethod(@RequestBody @Valid PaymentMethodAddModel model) { try { String error = verifAdd(model.getOrderNo(), model.getMethodConfigId(), model.getRealName(), model.getParamValue1(), model.getLoginSafeword()); if (!StringUtils.isNullOrEmpty(error)) { throw new YamiShopBindException(error); } sysUserService.checkSafeWord(model.getLoginSafeword()); C2cOrder c2cOrder = this.c2cOrderService.get(model.getOrderNo()); if (null == c2cOrder) { throw new YamiShopBindException("订单不存在"); } C2cPaymentMethodConfig method = c2cPaymentMethodConfigService.getById(model.getMethodConfigId()); if (null == method) { throw new YamiShopBindException("支付方式模板不存在"); } c2cOrder.setMethodType(method.getMethodType()); c2cOrder.setMethodName(method.getMethodName()); c2cOrder.setMethodImg(method.getMethodImg()); c2cOrder.setRealName(model.getRealName()); c2cOrder.setParamName1(method.getParamName1()); c2cOrder.setParamValue1(model.getParamValue1()); c2cOrder.setParamName2(method.getParamName2()); c2cOrder.setParamValue2(model.getParamValue2()); c2cOrder.setParamName3(method.getParamName3()); c2cOrder.setParamValue3(model.getParamValue3()); c2cOrder.setParamName4(method.getParamName4()); c2cOrder.setParamValue4(model.getParamValue4()); c2cOrder.setParamName5(method.getParamName5()); c2cOrder.setParamValue5(model.getParamValue5()); c2cOrder.setParamName6(method.getParamName6()); c2cOrder.setParamValue6(model.getParamValue6()); c2cOrder.setParamName7(method.getParamName7()); c2cOrder.setParamValue7(model.getParamValue7()); c2cOrder.setParamName8(method.getParamName8()); c2cOrder.setParamValue8(model.getParamValue8()); c2cOrder.setParamName9(method.getParamName9()); c2cOrder.setParamValue9(model.getParamValue9()); c2cOrder.setParamName10(method.getParamName10()); c2cOrder.setParamValue10(model.getParamValue10()); c2cOrder.setParamName11(method.getParamName11()); c2cOrder.setParamValue11(model.getParamValue11()); c2cOrder.setParamName12(method.getParamName12()); c2cOrder.setParamValue12(model.getParamValue12()); c2cOrder.setParamName13(method.getParamName13()); c2cOrder.setParamValue13(model.getParamValue13()); c2cOrder.setParamName14(method.getParamName14()); c2cOrder.setParamValue14(model.getParamValue14()); c2cOrder.setParamName15(method.getParamName15()); c2cOrder.setParamValue15(model.getParamValue15()); c2cOrder.setQrcode(model.getQrcode()); this.c2cOrderService.updateById(c2cOrder); return Result.ok(null); } catch (Exception e) { e.printStackTrace(); } return Result.failed("设置失败"); } } trading-order-admin/src/main/java/com/yami/trading/admin/controller/c2c/model/PaymentMethodAddModel.java
@@ -10,6 +10,9 @@ @ApiModel public class PaymentMethodAddModel { @ApiModelProperty("订单号") private String orderNo; @ApiModelProperty("用户UID") private String userCode; trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiC2cOrderController.java
@@ -172,10 +172,13 @@ throw new YamiShopBindException("广告不存在"); } C2cPaymentMethod method =c2cPaymentMethodService.get(payment_method_id); if (null == method) { throw new YamiShopBindException("支付方式不存在"); if (C2cAdvert.DIRECTION_SELL.equals(c2cAdvert.getDirection())) { C2cPaymentMethod method =c2cPaymentMethodService.get(payment_method_id); if (null == method) { throw new YamiShopBindException("支付方式不存在"); } } if (StringUtils.isEmptyString(order_type) || !Arrays.asList("by_amount", "by_num").contains(order_type)) { throw new YamiShopBindException("订单类型不正确"); @@ -238,6 +241,7 @@ public Object pay_finish(HttpServletRequest request) { String order_no = request.getParameter("order_no"); String safe_password = request.getParameter("safe_password"); String img = request.getParameter("img"); Result resultObject = new Result(); @@ -268,6 +272,10 @@ throw new BusinessException("订单不存在"); } if (img == null || img.isEmpty()) { throw new BusinessException("请先上传支付凭证"); } if (partyId.equals(order.getPartyId())) { // 用户操作 if (!"buy".equals(order.getDirection())) { @@ -294,6 +302,7 @@ order.setState("1"); order.setPayTime(new Date()); order.setImg(img); this.c2cOrderService.updateById(order); if (Arrays.asList("0", "1").contains(order.getState())) { trading-order-common/src/main/java/com/yami/trading/common/constants/TipConstants.java
@@ -98,6 +98,8 @@ ACTION_MAP.put(USER_SAFEWORD_APPLY, "/user-relation-reset"); ACTION_MAP.put(CONTRACT_ORDER, "/cryptos-spots-cryptos-spots-transport"); ACTION_MAP.put(OTCORDER_ONLINECHAT, "/c2c-c2c_pay_order"); ACTION_MAP.put(C2C_ORDER, "/c2c-c2c_pay_order"); ACTION_MAP.put(USER_SAFEWORD_APPLY+"-0", "/user-relation-reset"); ACTION_MAP.put(USER_SAFEWORD_APPLY+"-1", "/user-relation-reset"); @@ -126,6 +128,7 @@ MESSAGE_MAP.put(USER_SAFEWORD_APPLY+"-3", "您有{0}条新的用户取消邮箱绑定申请"); // MESSAGE_MAP.put(ONLINECHAT, "您有{0}条新的聊天消息"); MESSAGE_MAP.put(OTCORDER_ONLINECHAT, "您的C2C订单有{0}条新的聊天消息"); MESSAGE_MAP.put(C2C_ORDER, "您有{0}条新的C2C订单"); }; /** @@ -142,7 +145,7 @@ MESSAGE_TYPE.put(USER_SAFEWORD_APPLY, "4"); MESSAGE_TYPE.put(BANK_CARD_ORDER, "4"); MESSAGE_TYPE.put(CONTRACT_ORDER, "5"); MESSAGE_TYPE.put(OTCORDER_ONLINECHAT, "6"); MESSAGE_TYPE.put(C2C_ORDER, "6"); // MESSAGE_MAP.put(BANK_CARD_ORDER, "您有{0}条新的银行卡订单"); // MESSAGE_MAP.put(USER_SAFEWORD_APPLY, "您有{0}条新的用户资金密码修改申请"); // MESSAGE_MAP.put(ONLINECHAT, "您有{0}条新的聊天消息"); trading-order-service/src/main/java/com/yami/trading/service/c2c/impl/C2cOrderServiceImpl.java
@@ -517,13 +517,12 @@ throw new YamiShopBindException("承兑商的用户信息不存在"); } C2cPaymentMethod method = this.c2cPaymentMethodService.get(c2cOrder.getPaymentMethodId()); if (null == method) { throw new YamiShopBindException("支付方式不存在"); } if (C2cAdvert.DIRECTION_SELL.equals(c2cAdvert.getDirection())) { if (null == method) { throw new YamiShopBindException("支付方式不存在"); } if (!party.isWithdrawAuthority()) { throw new YamiShopBindException( "无权限"); } @@ -536,9 +535,9 @@ } } else { if (!method.getPartyId().equals(c2cUser.getC2cUserPartyId())) { /*if (!method.getPartyId().equals(c2cUser.getC2cUserPartyId())) { throw new YamiShopBindException("支付方式不匹配该承兑商"); } }*/ } c2cOrder.setC2cUserType(c2cUser.getC2cUserType()); @@ -554,41 +553,46 @@ c2cOrder.setPayRate(c2cAdvert.getPayRate()); c2cOrder.setSymbolValue(c2cAdvert.getSymbolValue()); c2cOrder.setExpireTime(c2cAdvert.getExpireTime()); c2cOrder.setMethodType(method.getMethodType()); c2cOrder.setMethodName(method.getMethodName()); c2cOrder.setMethodImg(method.getMethodImg()); c2cOrder.setRealName(method.getRealName()); c2cOrder.setParamName1(method.getParamName1()); c2cOrder.setParamValue1(method.getParamValue1()); c2cOrder.setParamName2(method.getParamName2()); c2cOrder.setParamValue2(method.getParamValue2()); c2cOrder.setParamName3(method.getParamName3()); c2cOrder.setParamValue3(method.getParamValue3()); c2cOrder.setParamName4(method.getParamName4()); c2cOrder.setParamValue4(method.getParamValue4()); c2cOrder.setParamName5(method.getParamName5()); c2cOrder.setParamValue5(method.getParamValue5()); c2cOrder.setParamName6(method.getParamName6()); c2cOrder.setParamValue6(method.getParamValue6()); c2cOrder.setParamName7(method.getParamName7()); c2cOrder.setParamValue7(method.getParamValue7()); c2cOrder.setParamName8(method.getParamName8()); c2cOrder.setParamValue8(method.getParamValue8()); c2cOrder.setParamName9(method.getParamName9()); c2cOrder.setParamValue9(method.getParamValue9()); c2cOrder.setParamName10(method.getParamName10()); c2cOrder.setParamValue10(method.getParamValue10()); c2cOrder.setParamName11(method.getParamName11()); c2cOrder.setParamValue11(method.getParamValue11()); c2cOrder.setParamName12(method.getParamName12()); c2cOrder.setParamValue12(method.getParamValue12()); c2cOrder.setParamName13(method.getParamName13()); c2cOrder.setParamValue13(method.getParamValue13()); c2cOrder.setParamName14(method.getParamName14()); c2cOrder.setParamValue14(method.getParamValue14()); c2cOrder.setParamName15(method.getParamName15()); c2cOrder.setParamValue15(method.getParamValue15()); c2cOrder.setQrcode(method.getQrcode()); if (C2cAdvert.DIRECTION_SELL.equals(c2cAdvert.getDirection())) { c2cOrder.setMethodType(method.getMethodType()); c2cOrder.setMethodName(method.getMethodName()); c2cOrder.setMethodImg(method.getMethodImg()); c2cOrder.setRealName(method.getRealName()); c2cOrder.setParamName1(method.getParamName1()); c2cOrder.setParamValue1(method.getParamValue1()); c2cOrder.setParamName2(method.getParamName2()); c2cOrder.setParamValue2(method.getParamValue2()); c2cOrder.setParamName3(method.getParamName3()); c2cOrder.setParamValue3(method.getParamValue3()); c2cOrder.setParamName4(method.getParamName4()); c2cOrder.setParamValue4(method.getParamValue4()); c2cOrder.setParamName5(method.getParamName5()); c2cOrder.setParamValue5(method.getParamValue5()); c2cOrder.setParamName6(method.getParamName6()); c2cOrder.setParamValue6(method.getParamValue6()); c2cOrder.setParamName7(method.getParamName7()); c2cOrder.setParamValue7(method.getParamValue7()); c2cOrder.setParamName8(method.getParamName8()); c2cOrder.setParamValue8(method.getParamValue8()); c2cOrder.setParamName9(method.getParamName9()); c2cOrder.setParamValue9(method.getParamValue9()); c2cOrder.setParamName10(method.getParamName10()); c2cOrder.setParamValue10(method.getParamValue10()); c2cOrder.setParamName11(method.getParamName11()); c2cOrder.setParamValue11(method.getParamValue11()); c2cOrder.setParamName12(method.getParamName12()); c2cOrder.setParamValue12(method.getParamValue12()); c2cOrder.setParamName13(method.getParamName13()); c2cOrder.setParamValue13(method.getParamValue13()); c2cOrder.setParamName14(method.getParamName14()); c2cOrder.setParamValue14(method.getParamValue14()); c2cOrder.setParamName15(method.getParamName15()); c2cOrder.setParamValue15(method.getParamValue15()); c2cOrder.setQrcode(method.getQrcode()); } c2cOrder.setCreateTime(new Date()); c2cOrder.setHandleTime(null); c2cOrder.setCloseTime(DateUtils.addMinute(c2cOrder.getCreateTime(), c2cOrder.getExpireTime()));