123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package com.pj.project.sync;
- import cn.hutool.json.JSONUtil;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import com.pj.current.config.PushfeeConfig;
- import com.pj.project.sync.bo.*;
- import com.pj.project.sync.dto.IExpensePriceReq;
- import com.pj.project.sync.dto.ItemTypeDTO;
- import com.pj.project.sync.dto.PartnerDTO;
- import com.pj.project.sync.dto.PartnerParam;
- import com.pj.project.sync.dto.item.IFactorItem;
- import com.pj.project.sync.request.IOrderPriceReq;
- import com.pj.project.sync.request.item.IOrderItem;
- import com.pj.project.sync.response.IExpensePriceRes;
- import com.pj.project.sync.response.IOrderPriceRes;
- import com.pj.project.sync.response.item.IExpenseItem;
- import com.pj.utils.sg.AjaxError;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.util.Collections;
- import java.util.List;
- @Service
- @Slf4j
- public class SyncService {
- @Resource
- private PushfeeConfig pushfeeConfig;
- @Resource
- private HelpService helpService;
- private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create();
- /**
- * 同步合作伙伴
- *
- * @param id
- * @param name
- * @param syncType
- */
- public void syncPartnes(String id, String name, String syncType) {
- PartnerParam dto = new PartnerParam(id, name, syncType);
- List<PartnerParam> list = Collections.singletonList(dto);
- PartnerDTO partnerDTO = new PartnerDTO();
- partnerDTO.setPartnersList(list);
- helpService.req("/data/sync/partners", partnerDTO);
- }
- public List<IExpenseItem> syncItemTypeList(String itemTypeName, String itemCode) {
- ItemTypeDTO dto = new ItemTypeDTO();
- dto.setSysId(pushfeeConfig.getSysId()).setBizTypeNo(itemCode).setExpenseName(itemTypeName);
- SyncResultBO resultBO = helpService.req("/price/external/expense/list", dto);
- IExpenseListQueryRes res = helpService.deCrypte(resultBO.getData(), IExpenseListQueryRes.class);
- return res.getList();
- }
- /**
- * 费项价格计算
- *
- * @param uniqExpenseId
- * @param num
- * @param factorItems
- * @return
- */
- public IExpensePriceRes calItemPrice(String uniqExpenseId, int num, List<IFactorItem> factorItems) {
- IExpensePriceReq iExpensePriceReq = new IExpensePriceReq();
- iExpensePriceReq.setUniqExpenseId(uniqExpenseId)
- .setExpenseNum(num)
- .setFactors(factorItems);
- SyncResultBO resultBO = helpService.req("/price/external/expense/price", iExpensePriceReq);
- if (resultBO.getCode() == 200) {
- IExpensePriceRes res = helpService.deCrypte(resultBO.getData(), IExpensePriceRes.class);
- return res;
- }
- throw new AjaxError("计算费用出错");
- }
- /**
- * 订单计算接口
- * @param expenses
- */
- public IOrderPriceRes orderPriceCal( List<IOrderItem> expenses ){
- IOrderPriceReq iOrderPriceReq=new IOrderPriceReq();
- iOrderPriceReq.setSysId(pushfeeConfig.getSysId()).setExpenses(expenses).setOrderNum(1);
- SyncResultBO resultBO = helpService.req("/price/external/order/calc", iOrderPriceReq);
- if (resultBO.getCode() == 200) {
- IOrderPriceRes res = helpService.deCrypte(resultBO.getData(), IOrderPriceRes.class);
- return res;
- }
- throw new AjaxError("订单计费出错");
- }
- }
|