Browse Source

01-25 充值订单编辑手续费,同步更新金币的货币名称与数量;重新提交撤回订单时对永久金币做非0校验

lijianlin/feature-20260113-现金管理0109
lijianlin 1 month ago
parent
commit
6240b55fe6
  1. 5
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  2. 8
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  3. 16
      src/main/resources/cashMapper/CashCollectionMapper.xml

5
src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java

@ -86,5 +86,8 @@ public interface CashCollectionMapper {
List<String> selectStripeList(); List<String> selectStripeList();
List<String> selectStripe2List(); List<String> selectStripe2List();
List<String> selectPaymentList(); List<String> selectPaymentList();
//补全手续费后修改金币订单
void updateGoldOrder(@Param("cashRecordCollection")CashRecord cashRecord);
//根据订单号查询商品名称
String selectGoodsNameByCode(String orderCode);
} }

8
src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java

@ -239,6 +239,8 @@ public class CashCollectionServiceImpl implements CashCollectionService {
if (cashRecord.getGoodsName().equals("金币充值")) { if (cashRecord.getGoodsName().equals("金币充值")) {
if (cashRecord.getPermanentGold() == 0 && cashRecord.getFreeGold() == 0) { if (cashRecord.getPermanentGold() == 0 && cashRecord.getFreeGold() == 0) {
throw new IllegalArgumentException("金币数量不能为空"); throw new IllegalArgumentException("金币数量不能为空");
}if (cashRecord.getPermanentGold() == 0){
throw new IllegalArgumentException("永久金币数量不能为空");
} }
} }
@ -350,7 +352,13 @@ public class CashCollectionServiceImpl implements CashCollectionService {
int rows = cashCollectionMapper.complete(cashRecord); int rows = cashCollectionMapper.complete(cashRecord);
String goodsName = cashCollectionMapper.selectGoodsNameByCode(cashRecord.getOrderCode());
if (goodsName .equals("金币充值")) {
cashRecord.setOrderCode(cashRecord.getOrderCode().replace("XJ_", "XJCZ_"));
//修改金币订单
cashCollectionMapper.updateGoldOrder(cashRecord);
}
return rows > 0 ? "编辑成功" : "编辑失败"; return rows > 0 ? "编辑成功" : "编辑失败";
} }

16
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -88,6 +88,17 @@
WHERE order_code = #{cashRecordCollection.orderCode} WHERE order_code = #{cashRecordCollection.orderCode}
AND status IN (1, 3) AND status IN (1, 3)
</update> </update>
<!--提交手续费时修改金币订单-->
<update id="updateGoldOrder">
UPDATE user_gold_record
<set>
rate_id=#{cashRecordCollection.paymentCurrency},
<if test="cashRecordCollection.paymentAmount != 0">
money = #{cashRecordCollection.paymentAmount}
</if>
</set>
WHERE order_code = #{cashRecordCollection.orderCode}
</update>
<!--设置gOrder订单为已同步--> <!--设置gOrder订单为已同步-->
<update id="markSynced"> <update id="markSynced">
update g_order update g_order
@ -364,6 +375,10 @@
<select id="selectIpayList" resultType="com.example.demo.domain.vo.cash.CashCollection"> <select id="selectIpayList" resultType="com.example.demo.domain.vo.cash.CashCollection">
select order_code,permanent_gold from cash_record_collection where payload='Ipay88' and order_no_status=1 select order_code,permanent_gold from cash_record_collection where payload='Ipay88' and order_no_status=1
</select> </select>
<!--根据订单号获取商品名称-->
<select id="selectGoodsNameByCode" resultType="java.lang.String">
select goods_name from cash_record_collection where order_code=#{orderCode}
</select>
<!--根据OrderCode订单号更新收款订单--> <!--根据OrderCode订单号更新收款订单-->
<update id="updateByGoldCoinOrderCodeByPayment"> <update id="updateByGoldCoinOrderCodeByPayment">
update cash_record_collection update cash_record_collection
@ -430,4 +445,5 @@
order_no_status=0 order_no_status=0
where order_code=#{orderNo} where order_code=#{orderNo}
</update> </update>
</mapper> </mapper>
Loading…
Cancel
Save