提交代码

yy_dev
胡锐 1 year ago
parent 728e48c566
commit 2b87cb6d5e
  1. 15
      cweb/src/main/java/com/cweb/controller/BsTradeOrderController.java
  2. 6
      open-api/src/main/java/com/api/controller/v1/TradeController.java
  3. 13
      service/src/main/java/com/hfkj/dao/BsTradeOrderMapper.java
  4. 14
      service/src/main/java/com/hfkj/dao/BsTradeOrderSqlProvider.java
  5. 16
      service/src/main/java/com/hfkj/entity/BsTradeOrder.java
  6. 70
      service/src/main/java/com/hfkj/entity/BsTradeOrderExample.java
  7. 2
      service/src/main/java/com/hfkj/openapi/v1/utils/SignatureUtil.java
  8. 3
      service/src/main/java/com/hfkj/service/BsTradeOrderService.java
  9. 5
      service/src/main/java/com/hfkj/service/impl/BsTradeOrderServiceImpl.java

@ -131,7 +131,7 @@ public class BsTradeOrderController {
@RequestMapping(value="/createMicroOrder",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "创建交易【被扫】订单")
public ResponseData createMicroOrder(@RequestBody JSONObject body) {
public ResponseData createMicroOrder(@RequestBody JSONObject body, HttpServletRequest request) {
try {
if (body == null
@ -182,7 +182,7 @@ public class BsTradeOrderController {
param.put("deviceId", device.getId());
// 创建交易订单
return ResponseMsgUtil.success(tradeOrderService.createOrder(store.getId(), body.getBigDecimal("totalAmount"),null,null, null, param));
return ResponseMsgUtil.success(tradeOrderService.createOrder(store.getId(), body.getBigDecimal("totalAmount"),null,null, null, param, request));
} catch (Exception e) {
log.error(e.getMessage(), e);
@ -190,10 +190,6 @@ public class BsTradeOrderController {
}
}
public static void main(String[] args) {
System.out.println(new BigDecimal("50").compareTo(new BigDecimal("1000")));
}
@RequestMapping(value="/createJSAPIOrder",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "创建交易【JSAPI】订单")
@ -295,7 +291,8 @@ public class BsTradeOrderController {
storeDiscountActivity,
body.getString("userPhone"),
userDiscount,
param));
param,
request));
} catch (Exception e) {
log.error(e.getMessage(), e);
@ -306,7 +303,7 @@ public class BsTradeOrderController {
@RequestMapping(value="/createOrder",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "创建交易订单")
public ResponseData createOrder(@RequestBody JSONObject body) {
public ResponseData createOrder(@RequestBody JSONObject body, HttpServletRequest request) {
try {
if (body == null
@ -345,7 +342,7 @@ public class BsTradeOrderController {
}
// 创建交易订单
return ResponseMsgUtil.success(tradeOrderService.createOrder(store.getId(), body.getBigDecimal("totalAmount"), null, null,null,new HashMap<>()));
return ResponseMsgUtil.success(tradeOrderService.createOrder(store.getId(), body.getBigDecimal("totalAmount"), null, null,null,new HashMap<>(),request));
} catch (Exception e) {
log.error(e.getMessage(), e);

@ -6,6 +6,7 @@ import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.RequestUtils;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.config.CommonSysConst;
import com.hfkj.entity.BsMer;
@ -26,10 +27,12 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.util.ResourceUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -54,7 +57,7 @@ public class TradeController {
@RequestMapping(value="/preorder",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "聚合主扫")
public ResponseData preorder(@Validated @RequestBody RequestTradePreorderModel body) {
public ResponseData preorder(@Validated @RequestBody RequestTradePreorderModel body, HttpServletRequest request) {
log.info("========= Start 聚合主扫接口 Start ===========");
log.info("请求参数:" + JSONObject.toJSONString(body));
try {
@ -108,6 +111,7 @@ public class TradeController {
tradeOrder.setRefundPrice(new BigDecimal("0"));
tradeOrder.setAttach(body.getAttach());
tradeOrder.setSpecialField(body.getSpecialField());
tradeOrder.setRequestIp(RequestUtils.getIpAddress(request));
// 创建交易订单
Map<String, Object> returnParam = openApiTradeOrderService.createOrder(tradeOrder);

@ -72,7 +72,8 @@ public interface BsTradeOrderMapper extends BsTradeOrderMapperExt {
"refund_type, refund_price, ",
"create_type, create_time, ",
"cancel_time, update_time, ",
"ext_1, ext_2, ext_3)",
"request_ip, ext_1, ",
"ext_2, ext_3)",
"values (#{companyId,jdbcType=BIGINT}, #{agentId,jdbcType=BIGINT}, ",
"#{salesmanId,jdbcType=BIGINT}, #{salesmanName,jdbcType=VARCHAR}, ",
"#{merId,jdbcType=BIGINT}, #{merName,jdbcType=VARCHAR}, #{merAbbreviate,jdbcType=VARCHAR}, ",
@ -106,7 +107,8 @@ public interface BsTradeOrderMapper extends BsTradeOrderMapperExt {
"#{refundType,jdbcType=INTEGER}, #{refundPrice,jdbcType=DECIMAL}, ",
"#{createType,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, ",
"#{cancelTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
"#{requestIp,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, ",
"#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(BsTradeOrder record);
@ -186,6 +188,7 @@ public interface BsTradeOrderMapper extends BsTradeOrderMapperExt {
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="cancel_time", property="cancelTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="request_ip", property="requestIp", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
@ -206,8 +209,8 @@ public interface BsTradeOrderMapper extends BsTradeOrderMapperExt {
"acc_settle_amount, acc_mdiscount_amount, acc_discount_amount, shd_fee_amt, fee_rate, ",
"settle_amount, settle_date, acc_payment_code, card_type, `status`, profit_sharing_status, ",
"pay_time, timeout_express, subject, pay_notify_url, attach, special_field, refund_type, ",
"refund_price, create_type, create_time, cancel_time, update_time, ext_1, ext_2, ",
"ext_3",
"refund_price, create_type, create_time, cancel_time, update_time, request_ip, ",
"ext_1, ext_2, ext_3",
"from bs_trade_order",
"where id = #{id,jdbcType=BIGINT}"
})
@ -281,6 +284,7 @@ public interface BsTradeOrderMapper extends BsTradeOrderMapperExt {
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="cancel_time", property="cancelTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="request_ip", property="requestIp", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
@ -366,6 +370,7 @@ public interface BsTradeOrderMapper extends BsTradeOrderMapperExt {
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"cancel_time = #{cancelTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
"request_ip = #{requestIp,jdbcType=VARCHAR},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",

@ -300,6 +300,10 @@ public class BsTradeOrderSqlProvider {
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
}
if (record.getRequestIp() != null) {
sql.VALUES("request_ip", "#{requestIp,jdbcType=VARCHAR}");
}
if (record.getExt1() != null) {
sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}");
}
@ -390,6 +394,7 @@ public class BsTradeOrderSqlProvider {
sql.SELECT("create_time");
sql.SELECT("cancel_time");
sql.SELECT("update_time");
sql.SELECT("request_ip");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
@ -686,6 +691,10 @@ public class BsTradeOrderSqlProvider {
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
}
if (record.getRequestIp() != null) {
sql.SET("request_ip = #{record.requestIp,jdbcType=VARCHAR}");
}
if (record.getExt1() != null) {
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
}
@ -775,6 +784,7 @@ public class BsTradeOrderSqlProvider {
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("cancel_time = #{record.cancelTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
sql.SET("request_ip = #{record.requestIp,jdbcType=VARCHAR}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
@ -1060,6 +1070,10 @@ public class BsTradeOrderSqlProvider {
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
}
if (record.getRequestIp() != null) {
sql.SET("request_ip = #{requestIp,jdbcType=VARCHAR}");
}
if (record.getExt1() != null) {
sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}");
}

@ -363,6 +363,11 @@ public class BsTradeOrder implements Serializable {
*/
private Date updateTime;
/**
* 请求ip
*/
private String requestIp;
private String ext1;
private String ext2;
@ -923,6 +928,14 @@ public class BsTradeOrder implements Serializable {
this.updateTime = updateTime;
}
public String getRequestIp() {
return requestIp;
}
public void setRequestIp(String requestIp) {
this.requestIp = requestIp;
}
public String getExt1() {
return ext1;
}
@ -1028,6 +1041,7 @@ public class BsTradeOrder implements Serializable {
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getCancelTime() == null ? other.getCancelTime() == null : this.getCancelTime().equals(other.getCancelTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getRequestIp() == null ? other.getRequestIp() == null : this.getRequestIp().equals(other.getRequestIp()))
&& (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
&& (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
&& (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()));
@ -1106,6 +1120,7 @@ public class BsTradeOrder implements Serializable {
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getCancelTime() == null) ? 0 : getCancelTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getRequestIp() == null) ? 0 : getRequestIp().hashCode());
result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
@ -1187,6 +1202,7 @@ public class BsTradeOrder implements Serializable {
sb.append(", createTime=").append(createTime);
sb.append(", cancelTime=").append(cancelTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", requestIp=").append(requestIp);
sb.append(", ext1=").append(ext1);
sb.append(", ext2=").append(ext2);
sb.append(", ext3=").append(ext3);

@ -4543,6 +4543,76 @@ public class BsTradeOrderExample {
return (Criteria) this;
}
public Criteria andRequestIpIsNull() {
addCriterion("request_ip is null");
return (Criteria) this;
}
public Criteria andRequestIpIsNotNull() {
addCriterion("request_ip is not null");
return (Criteria) this;
}
public Criteria andRequestIpEqualTo(String value) {
addCriterion("request_ip =", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpNotEqualTo(String value) {
addCriterion("request_ip <>", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpGreaterThan(String value) {
addCriterion("request_ip >", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpGreaterThanOrEqualTo(String value) {
addCriterion("request_ip >=", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpLessThan(String value) {
addCriterion("request_ip <", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpLessThanOrEqualTo(String value) {
addCriterion("request_ip <=", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpLike(String value) {
addCriterion("request_ip like", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpNotLike(String value) {
addCriterion("request_ip not like", value, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpIn(List<String> values) {
addCriterion("request_ip in", values, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpNotIn(List<String> values) {
addCriterion("request_ip not in", values, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpBetween(String value1, String value2) {
addCriterion("request_ip between", value1, value2, "requestIp");
return (Criteria) this;
}
public Criteria andRequestIpNotBetween(String value1, String value2) {
addCriterion("request_ip not between", value1, value2, "requestIp");
return (Criteria) this;
}
public Criteria andExt1IsNull() {
addCriterion("ext_1 is null");
return (Criteria) this;

@ -83,7 +83,7 @@ public class SignatureUtil {
public static void main(String[] args) throws Exception {
String paramStr = "{\n" +
" \"merchantNo\": \"2023041916292112804\",\n" +
" \"outTradeNo\": \"ZF1130202305051459532538970006\",\n" +
" \"outTradeNo\": \"ZF1130202305051459532538970007\",\n" +
" \"payMode\": \"WECHAT\",\n" +
" \"totalAmount\": 0.01,\n" +
" \"transType\": \"JSAPI\",\n" +

@ -7,6 +7,7 @@ import com.hfkj.sysenum.PlatformTypeEnum;
import com.hfkj.sysenum.TradeOrderMsgTypeEnum;
import com.hfkj.sysenum.TradeOrderPayModeEnum;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@ -29,7 +30,7 @@ public interface BsTradeOrderService {
* @param tradeAmount 交易金额
* @param param 其他参数
*/
Map<String, Object> createOrder(Long storeId, BigDecimal tradeAmount, BsStoreDiscountActivity storeDiscount, String userPhone, UserDiscount userDiscount, Map<String, Object> param);
Map<String, Object> createOrder(Long storeId, BigDecimal tradeAmount, BsStoreDiscountActivity storeDiscount, String userPhone, UserDiscount userDiscount, Map<String, Object> param, HttpServletRequest request);
/**
* 支付成功

@ -10,6 +10,7 @@ import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.IDGenerator;
import com.hfkj.common.utils.RequestUtils;
import com.hfkj.config.device.SoundService;
import com.hfkj.dao.BsTradeOrderMapper;
import com.hfkj.entity.*;
@ -21,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
@ -75,7 +77,7 @@ public class BsTradeOrderServiceImpl implements BsTradeOrderService {
}
@Override
public Map<String, Object> createOrder(Long storeId, BigDecimal tradeAmount, BsStoreDiscountActivity storeDiscount, String userPhone, UserDiscount userDiscount, Map<String, Object> param) {
public Map<String, Object> createOrder(Long storeId, BigDecimal tradeAmount, BsStoreDiscountActivity storeDiscount, String userPhone, UserDiscount userDiscount, Map<String, Object> param, HttpServletRequest request) {
// 查询门店信息
BsStore store = storeService.getStoreById(storeId);
if (store == null) {
@ -110,6 +112,7 @@ public class BsTradeOrderServiceImpl implements BsTradeOrderService {
tradeOrder.setStoreDiscountSatisfy(false);
tradeOrder.setUserPhone(userPhone);
tradeOrder.setProfitSharingStatus(false);
tradeOrder.setRequestIp(RequestUtils.getIpAddress(request));
// 门店优惠
if (storeDiscount != null) {

Loading…
Cancel
Save