Browse Source

10-21 同步线上收款数据(从镜像表中)

lijianlin/feature-202509231533026-现金管理-收款管理^2
lijianlin 1 month ago
parent
commit
239c71f55f
  1. 5
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  2. 22
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  3. 10
      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);
}

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

@ -10,12 +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;
@ -28,6 +31,7 @@ import java.util.UUID;
* @Version 1.0
**/
@Service
@Slf4j
public class CashCollectionServiceImpl implements CashCollectionService {
@Autowired
@ -276,9 +280,21 @@ public class CashCollectionServiceImpl implements CashCollectionService {
}
}
cashRecord.setGoodsName("Link充值金币");
cashRecord.setGoodNum(0);
cashRecord.setPermanentGold(gOrder.getCount());
cashRecord.setPayTime(java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochMilli(gOrder.getSuccessTime()), java.time.ZoneId.systemDefault()));
// cashCollectionMapper.
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 "同步完毕";
}}

10
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,9 +202,9 @@
</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' and pay_style in(3,5,6,7,9)
limit #{size}

Loading…
Cancel
Save