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<String> getActivityList();
//查找未同步的订单 //查找未同步的订单
List<GOrder>getUnSync(@Param("size")int size); 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.example.demo.service.cash.CashCollectionService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -27,6 +31,7 @@ import java.util.UUID;
* @Version 1.0 * @Version 1.0
**/ **/
@Service @Service
@Slf4j
public class CashCollectionServiceImpl implements CashCollectionService { public class CashCollectionServiceImpl implements CashCollectionService {
@Autowired @Autowired
@ -245,35 +250,51 @@ public class CashCollectionServiceImpl implements CashCollectionService {
cashRecord.setJwcode(gOrder.getJwcode()); cashRecord.setJwcode(gOrder.getJwcode());
cashRecord.setName(cashCollectionMapper.getNameByJwcode(gOrder.getJwcode())); cashRecord.setName(cashCollectionMapper.getNameByJwcode(gOrder.getJwcode()));
cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(gOrder.getJwcode())); cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(gOrder.getJwcode()));
cashRecord.setActivity("Link充值金币");
cashRecord.setActivity("Link日常充值");
cashRecord.setOrderCode(gOrder.getOrderNo()); cashRecord.setOrderCode(gOrder.getOrderNo());
if (gOrder != null) { if (gOrder != null) {
switch (gOrder.getPayStyle()) { switch (gOrder.getPayStyle()) {
case 3: case 3:
cashRecord.setPayType("IOS内购"); cashRecord.setPayType("IOS内购");
cashRecord.setBankCode(gOrder.getIosTransactionId()); cashRecord.setBankCode(gOrder.getIosTransactionId());
break;
case 4:
cashRecord.setPayType("Paypal");
cashRecord.setBankCode(gOrder.getPaypalOrderId());
cashRecord.setReceivedMarket("3");
break; break;
case 5: case 5:
cashRecord.setPayType("Stripe-链接收款"); cashRecord.setPayType("Stripe-链接收款");
cashRecord.setReceivedMarket("13");
break; break;
case 6: case 6:
cashRecord.setPayType("PaymentAsia-链接收款"); cashRecord.setPayType("PaymentAsia-链接收款");
cashRecord.setReceivedMarket("13");
break; break;
case 7: case 7:
cashRecord.setPayType("Ipay88-链接收款"); cashRecord.setPayType("Ipay88-链接收款");
cashRecord.setReceivedMarket("5");
break; break;
case 9: case 9:
cashRecord.setPayType("FistData"); cashRecord.setPayType("FistData");
cashRecord.setReceivedMarket("4");
break; break;
default: default:
break; break;
} }
} }
cashRecord.setGoodsName("Link充值金币"); 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("总部"); allMarkets.remove("总部");
// 固定顺序 // 固定顺序
List<String> fixed = Arrays.asList( List<String> fixed = Arrays.asList(
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "未知"
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "非网"
); );
// 先放固定顺序存在的才放 // 先放固定顺序存在的才放

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

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