Merge branch 'master' of https://e.coding.net/g-cphe0354/shouyinjixitong/cashier-client
This commit is contained in:
commit
7e8a86db6f
|
|
@ -20,4 +20,5 @@ public interface TbUserInfoMapper {
|
|||
int updateByPrimaryKey(TbUserInfo record);
|
||||
|
||||
TbUserInfo selectByCardNo(String cardNo);
|
||||
TbUserInfo selectByPhone(String phone);
|
||||
}
|
||||
|
|
@ -24,6 +24,10 @@ public class TbGroupOrderCoupon implements Serializable {
|
|||
* 团购卷码
|
||||
*/
|
||||
private String couponNo;
|
||||
/**
|
||||
* 退款订单号
|
||||
*/
|
||||
private String mchRefundNo;
|
||||
/**
|
||||
* 是否已退款
|
||||
* 0:否
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import com.chaozhanggui.system.cashierservice.util.SnowFlakeUtil;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
|
@ -41,6 +42,9 @@ public class MemberService {
|
|||
@Autowired
|
||||
TbShopUserMapper tbShopUserMapper;
|
||||
|
||||
@Autowired
|
||||
TbUserInfoMapper tbUserInfoMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
TbMemberInMapper tbMemberInMapper;
|
||||
|
|
@ -122,8 +126,11 @@ public class MemberService {
|
|||
tbShopUserMapper.updateByPrimaryKeySelective(tbShopUser);
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
TbShopUser tbShopUser = new TbShopUser();
|
||||
TbUserInfo tbUserInfo = tbUserInfoMapper.selectByPhone(phone);
|
||||
if(tbUserInfo!=null){
|
||||
tbShopUser.setUserId(tbUserInfo.getId().toString());
|
||||
}
|
||||
tbShopUser.setAmount(BigDecimal.ZERO);
|
||||
tbShopUser.setCreditAmount(BigDecimal.ZERO);
|
||||
tbShopUser.setConsumeAmount(BigDecimal.ZERO);
|
||||
|
|
@ -537,6 +544,12 @@ public class MemberService {
|
|||
|
||||
shopUser.setAmount(shopUser.getAmount().add(amount));
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
if (StringUtils.isBlank(shopUser.getUserId())) {
|
||||
TbUserInfo tbUserInfo = tbUserInfoMapper.selectByPhone(shopUser.getTelephone());
|
||||
if (tbUserInfo != null) {
|
||||
shopUser.setUserId(tbUserInfo.getId().toString());
|
||||
}
|
||||
}
|
||||
tbShopUserMapper.updateByPrimaryKeySelective(shopUser);
|
||||
|
||||
TbShopUserFlow flow = new TbShopUserFlow();
|
||||
|
|
|
|||
|
|
@ -556,12 +556,12 @@ public class PayService {
|
|||
return Result.fail(CodeEnum.MEMBERNOEXIST);
|
||||
}
|
||||
|
||||
if (N.gt(orderInfo.getPayAmount(), user.getAmount())) {
|
||||
if (N.gt(orderInfo.getOrderAmount(), user.getAmount())) {
|
||||
return Result.fail(CodeEnum.MEMBERINSUFFICIENTFUNDS);
|
||||
}
|
||||
|
||||
user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount()));
|
||||
user.setConsumeAmount(user.getConsumeAmount().add(orderInfo.getPayAmount()));
|
||||
user.setConsumeAmount(user.getConsumeAmount().add(orderInfo.getOrderAmount()));
|
||||
user.setConsumeNumber(user.getConsumeNumber() + 1);
|
||||
user.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKeySelective(user);
|
||||
|
|
@ -1093,6 +1093,53 @@ public class PayService {
|
|||
if (param.getNum() > tbGroupOrderCoupons.size()) {
|
||||
return Result.fail("可退数量不足");
|
||||
}
|
||||
if(groupOrderInfo.getPayType().equals("deposit")){
|
||||
TbShopUser user= tbShopUserMapper.selectByUserIdAndShopId(groupOrderInfo.getUserId().toString(),groupOrderInfo.getShopId().toString());
|
||||
if(ObjectUtil.isNull(user)||ObjectUtil.isEmpty(user)){
|
||||
return Result.fail(ACCOUNTEIXST);
|
||||
}
|
||||
user.setAmount(user.getAmount().add(param.getRefundAmount().setScale(2, RoundingMode.DOWN)));
|
||||
user.setConsumeAmount(user.getConsumeAmount().subtract(param.getRefundAmount().setScale(2, RoundingMode.DOWN)));
|
||||
user.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKeySelective(user);
|
||||
|
||||
TbShopUserFlow flow = new TbShopUserFlow();
|
||||
flow.setShopUserId(user.getId());
|
||||
flow.setBizCode("returnGroupOrder");
|
||||
flow.setBizName("会员储值卡退款");
|
||||
flow.setAmount(param.getRefundAmount());
|
||||
flow.setBalance(user.getAmount());
|
||||
flow.setCreateTime(new Date());
|
||||
tbShopUserFlowMapper.insert(flow);
|
||||
}else {
|
||||
TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(groupOrderInfo.getMerchantId());
|
||||
MsgException.checkNull(thirdApply, "支付参数配置错误");
|
||||
|
||||
// TbOrderPayment payment= tbOrderPaymentMapper.selectByOrderId(groupOrderInfo.getOrderNo());
|
||||
PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(
|
||||
url,
|
||||
thirdApply.getAppId(),
|
||||
// groupOrderInfo.getOrderNo(),
|
||||
"GPR"+DateUtils.getSsdfTimes(),
|
||||
groupOrderInfo.getPayOrderNo(),
|
||||
null,
|
||||
"团购卷订单退款",
|
||||
param.getRefundAmount().setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(),
|
||||
null,
|
||||
null,
|
||||
thirdApply.getAppToken());
|
||||
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
||||
GroupOrderReturnResp returnInfo = com.chaozhanggui.system.cashierservice.util.JSONUtil.parseJSONStr2T(publicResp.getBizData(), GroupOrderReturnResp.class);
|
||||
if ("000000".equals(publicResp.getCode())) {
|
||||
//TRADE_REFUND
|
||||
if (!"SUCCESS".equals(returnInfo.getState()) && !"TRADE_SUCCESS".equals(returnInfo.getState()) && !returnInfo.getState().equals("ING")) {
|
||||
return Result.fail("退款渠道调用失败,"+returnInfo.getNote());
|
||||
}
|
||||
} else {
|
||||
return Result.fail("退款渠道调用失败,"+publicResp.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < param.getNum(); i++) {
|
||||
TbGroupOrderCoupon coupon = tbGroupOrderCoupons.get(i);
|
||||
coupon.setIsRefund(1);
|
||||
|
|
@ -1101,32 +1148,6 @@ public class PayService {
|
|||
coupon.setRefundReason(param.getRefundReason());
|
||||
couponMapper.update(coupon);
|
||||
}
|
||||
TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(groupOrderInfo.getMerchantId());
|
||||
MsgException.checkNull(thirdApply, "支付参数配置错误");
|
||||
|
||||
TbOrderPayment payment= tbOrderPaymentMapper.selectByOrderId(param.getOrderId()+"");
|
||||
PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(
|
||||
url,
|
||||
thirdApply.getAppId(),
|
||||
groupOrderInfo.getOrderNo(),
|
||||
payment.getTradeNumber(),
|
||||
null,
|
||||
"团购卷订单退款",
|
||||
param.getRefundAmount().setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(),
|
||||
null,
|
||||
null,
|
||||
thirdApply.getAppToken());
|
||||
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
||||
GroupOrderReturnResp returnInfo = com.chaozhanggui.system.cashierservice.util.JSONUtil.parseJSONStr2T(publicResp.getBizData(), GroupOrderReturnResp.class);
|
||||
if ("000000".equals(publicResp.getCode())) {
|
||||
//TRADE_REFUND
|
||||
if (!"SUCCESS".equals(returnInfo.getState()) && !"TRADE_SUCCESS".equals(returnInfo.getState()) && !returnInfo.getState().equals("ING")) {
|
||||
return Result.fail("退款渠道调用失败,"+returnInfo.getNote());
|
||||
}
|
||||
} else {
|
||||
return Result.fail("退款渠道调用失败:" + publicResp.getMsg());
|
||||
}
|
||||
}
|
||||
groupOrderInfo.setRefundNumber(groupOrderInfo.getRefundNumber() + param.getNum());
|
||||
if (groupOrderInfo.getRefundAmount() == null) {
|
||||
groupOrderInfo.setRefundAmount(param.getRefundAmount());
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
<result property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="orderId" column="order_id" jdbcType="INTEGER"/>
|
||||
<result property="couponNo" column="coupon_no" jdbcType="VARCHAR"/>
|
||||
<result property="mchRefundNo" column="mch_refund_no" jdbcType="VARCHAR"/>
|
||||
<result property="isRefund" column="is_refund" jdbcType="INTEGER"/>
|
||||
<result property="refundAmount" column="refund_amount" jdbcType="NUMERIC"/>
|
||||
<result property="refundReason" column="refund_reason" jdbcType="VARCHAR"/>
|
||||
|
|
@ -14,7 +15,7 @@
|
|||
|
||||
<sql id="Base_Column_List">
|
||||
id
|
||||
, order_id, coupon_no, is_refund, refund_amount, refund_reason, refund_desc </sql>
|
||||
, order_id, coupon_no,mch_refund_no, is_refund, refund_amount, refund_reason, refund_desc </sql>
|
||||
|
||||
<!--查询单个-->
|
||||
<select id="queryById" resultMap="TbGroupOrderCouponMap">
|
||||
|
|
@ -59,6 +60,9 @@
|
|||
<if test="couponNo != null and couponNo != ''">
|
||||
and coupon_no = #{couponNo}
|
||||
</if>
|
||||
<if test="mchRefundNo != null and mchRefundNo != ''">
|
||||
and mch_refund_no = #{mchRefundNo}
|
||||
</if>
|
||||
<if test="isRefund != null">
|
||||
and is_refund = #{isRefund}
|
||||
</if>
|
||||
|
|
@ -77,15 +81,15 @@
|
|||
|
||||
<!--新增所有列-->
|
||||
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
||||
insert into tb_group_order_coupon(order_id, coupon_no, is_refund, refund_amount, refund_reason, refund_desc)
|
||||
values (#{orderId}, #{couponNo}, #{isRefund}, #{refundAmount}, #{refundReason}, #{refundDesc})
|
||||
insert into tb_group_order_coupon(order_id, coupon_no,mch_refund_no, is_refund, refund_amount, refund_reason, refund_desc)
|
||||
values (#{orderId}, #{couponNo},#{mchRefundNo}, #{isRefund}, #{refundAmount}, #{refundReason}, #{refundDesc})
|
||||
</insert>
|
||||
|
||||
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
|
||||
insert into tb_group_order_coupon(order_id, coupon_no, is_refund, refund_amount, refund_reason, refund_desc)
|
||||
insert into tb_group_order_coupon(order_id, coupon_no,mch_refund_no, is_refund, refund_amount, refund_reason, refund_desc)
|
||||
values
|
||||
<foreach collection="entities" item="entity" separator=",">
|
||||
(#{entity.orderId}, #{entity.couponNo}, #{entity.isRefund}, #{entity.refundAmount}, #{entity.refundReason},
|
||||
(#{entity.orderId}, #{entity.couponNo},#{entity.mchRefundNo} #{entity.isRefund}, #{entity.refundAmount}, #{entity.refundReason},
|
||||
#{entity.refundDesc})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -100,6 +104,9 @@
|
|||
<if test="couponNo != null and couponNo != ''">
|
||||
coupon_no = #{couponNo},
|
||||
</if>
|
||||
<if test="mchRefundNo != null and mchRefundNo != ''">
|
||||
mch_refund_no = #{mchRefundNo},
|
||||
</if>
|
||||
<if test="isRefund != null">
|
||||
is_refund = #{isRefund},
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -565,6 +565,10 @@
|
|||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
|
||||
<select id="selectByPhone" resultMap="BaseResultMap">
|
||||
select * from tb_user_info where telephone=#{phone,jdbcType=VARCHAR}
|
||||
</select>
|
||||
|
||||
<select id="selectByCardNo" resultMap="BaseResultMap">
|
||||
select * from tb_user_info where card_no=#{cardNo}
|
||||
</select>
|
||||
|
|
|
|||
Loading…
Reference in New Issue