Browse Source

Merge remote-tracking branch 'refs/remotes/origin/lijianlin/feature-202509231533026-现金管理-收款管理' into milestone-20251016-现金管理

lijianlin/feature-202509231533026-现金管理-收款管理
lijianlin 1 month ago
parent
commit
11d667af08
  1. 5
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  2. 33
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  3. 2
      src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java
  4. 12
      src/main/resources/cashMapper/CashCollectionMapper.xml

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

@ -48,6 +48,7 @@ public interface CashCollectionMapper {
List<String> getActivityList();
//查找未同步的订单
List<GOrder>getUnSync(@Param("size")int size);
//同步g_order订单到cash_record表
// int syncToCashRecord(CashRecord record);
//给同步过去的gOrder设置同步状态
int markSynced(@Param("orderId") Integer orderId);
}

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

@ -10,11 +10,15 @@ import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.service.cash.CashCollectionService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List;
import java.util.UUID;
@ -27,6 +31,7 @@ import java.util.UUID;
* @Version 1.0
**/
@Service
@Slf4j
public class CashCollectionServiceImpl implements CashCollectionService {
@Autowired
@ -245,35 +250,51 @@ public class CashCollectionServiceImpl implements CashCollectionService {
cashRecord.setJwcode(gOrder.getJwcode());
cashRecord.setName(cashCollectionMapper.getNameByJwcode(gOrder.getJwcode()));
cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(gOrder.getJwcode()));
cashRecord.setActivity("Link充值金币");
cashRecord.setActivity("Link日常充值");
cashRecord.setOrderCode(gOrder.getOrderNo());
if (gOrder != null) {
switch (gOrder.getPayStyle()) {
case 3:
cashRecord.setPayType("IOS内购");
cashRecord.setBankCode(gOrder.getIosTransactionId());
break;
case 4:
cashRecord.setPayType("Paypal");
cashRecord.setBankCode(gOrder.getPaypalOrderId());
cashRecord.setReceivedMarket("3");
break;
case 5:
cashRecord.setPayType("Stripe-链接收款");
cashRecord.setReceivedMarket("13");
break;
case 6:
cashRecord.setPayType("PaymentAsia-链接收款");
cashRecord.setReceivedMarket("13");
break;
case 7:
cashRecord.setPayType("Ipay88-链接收款");
cashRecord.setReceivedMarket("5");
break;
case 9:
cashRecord.setPayType("FistData");
cashRecord.setReceivedMarket("4");
break;
default:
break;
}
}
cashRecord.setGoodsName("Link充值金币");
cashRecord.setGoodNum(0);
cashRecord.setPermanentGold(gOrder.getCount());
cashRecord.setFreeGold(0);
cashRecord.setPaymentCurrency("");
cashRecord.setPaymentAmount(BigDecimal.valueOf(0));
cashRecord.setPayTime(LocalDateTime.ofEpochSecond(gOrder.getSuccessTime(), 0, ZoneOffset.UTC));
cashRecord.setStatus(3);
cashRecord.setSubmitterId(99999);
cashRecord.setRemark("Link充值金币");
//存入现金库
cashCollectionMapper.add(cashRecord);
cashCollectionMapper.markSynced(gOrder.getId());
}log.info("同步完成一批,数量 {}", gOrders.size());
if (gOrders.size() < 100) {
break; // 最后一批
}
}return "同步成功";
}return "同步完毕";
}}

2
src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java

@ -63,7 +63,7 @@ public class WorkbenchServiceImpl implements WorkbenchService {
allMarkets.remove("总部");
// 固定顺序
List<String> fixed = Arrays.asList(
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "未知"
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "非网"
);
// 先放固定顺序存在的才放

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

@ -94,6 +94,12 @@
WHERE order_code = #{cashRecord.orderCode}
AND status IN (1, 3)
</update>
<!--设置gOrder订单为已同步-->
<update id="markSynced">
update g_order
set is_synced = 1
where id = #{orderId}
</update>
<!--根据jwcode获取所属地区-->
<select id="getMarketByJwcode" resultType="java.lang.String">
select market from user where jwcode=#{jwcode}
@ -196,11 +202,11 @@
</select>
<!--查找未同步的订单-->
<select id="getUnSync" resultType="com.example.demo.domain.entity.GOrder">
select jwcode,order_no,type,price,count,pay_style,state,
select id,jwcode,order_no,type,price,count,pay_style,state,
success_time,ios_environment,ios_transaction_id,ios_receipt_data,
paypal_order_id,add_time,is_synced
add_time,is_synced
from g_order
where is_synced=0 and state=1 and type='gold_coin'
where is_synced=0 and state=1 and type='gold_coin' and pay_style in(3,5,6,7,9)
limit #{size}
</select>
</mapper>
Loading…
Cancel
Save