123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package com.kmall.admin.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.kmall.admin.dao.SalesDetailMapper;
- import com.kmall.admin.dto.NewSystemFormatEntiy;
- import com.kmall.admin.service.SalesDetailService;
- import com.kmall.common.constant.Dict;
- import com.kmall.common.utils.DateUtils;
- import com.kmall.common.utils.HttpUtil;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.math.BigDecimal;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Service
- public class SalesDetailServiceImpl implements SalesDetailService {
- private static Log logger = LogFactory.getLog(SalesDetailService.class);
- @Autowired
- private SalesDetailMapper salesDetailMapper;
- /**
- *向eccs推送销售明细数据
- */
- public void pushSalesDetailData() {
- logger.info(">>>>>>>>>>>>>>>>>>>>pushSalesDetailData is start ");
- Map<String, Object> params = new HashMap<>();
- String date = DateUtils.formatDate(DateUtils.addDate(new Date(),-1),"yyyy-MM-dd");
- params.put("startTime",date + " " +"00:00:00");
- params.put("endTime",date+ " " +"23:59:59");
- params.put("isOnfiilineOrder","1");
- List<NewSystemFormatEntiy> dtoList = salesDetailMapper.querySalesSystemFormatList(params);
- pushDateEccs(dtoList);
- }
- public void pushDateEccs(List<NewSystemFormatEntiy> dtoList) {
- String valueUrl = salesDetailMapper.querySalesByKey("SALES_DETAIL_DATA_URL");
- if (dtoList.size() > 0) {
- dtoList.forEach(bean ->{
- BigDecimal unitSold = new BigDecimal(bean.getUnitSold());
- // 如果是退货
- String orderStatus = bean.getOrderStatus();
- if (Dict.orderStatus.item_401.getItem().equals(orderStatus)){
- bean.setSaleReturnType("整单退货");
- bean.setTransactionType("退货");
- }else{
- bean.setTransactionType("销售");
- }
- // 设置综合税额
- BigDecimal totalSalesIncTax = new BigDecimal(bean.getTotalSalesInclTax());
- // 设置实际销售额
- bean.setCurrentPrice(totalSalesIncTax.divide(unitSold,2,BigDecimal.ROUND_HALF_UP).setScale(2,BigDecimal.ROUND_HALF_UP).toEngineeringString());
- NewSystemFormatEntiy merchMsg = salesDetailMapper.queryMerch(bean.getMerchSn());
- if(merchMsg!=null){
- bean.setThirdMerchSn(merchMsg.getThirdMerchSn());
- bean.setThirdMerchSnName(merchMsg.getThirdMerchSnName());
- bean.setMerchSnName(merchMsg.getMerchSnName());
- }
- String msg = HttpUtil.doPostJson(valueUrl, JSON.toJSONString(bean));
- if(msg!=null&&!msg.equals("")){
- Map<String, Object> kmallMsg = com.alibaba.fastjson.JSONObject.toJavaObject(JSON.parseObject(msg), Map.class);
- if (kmallMsg.get("code").equals("200")) {
- bean.setSalesDetStatus("1");
- } else {
- bean.setSalesDetStatus("2");
- }
- bean.setSalesDetMsg(msg);
- salesDetailMapper.writebackSalesDet(bean);
- }
- });
- }
- }
- /**
- * 重推接口
- */
- public void pushSalesDetailDataAgain() {
- logger.info(">>>>>>>>>>>>>>>>>>>>pushSalesDetailDataAgain is start ");
- Map<String, Object> params = new HashMap<>();
- String date = DateUtils.formatDate(DateUtils.addDate(new Date(),-1),"yyyy-MM-dd");
- params.put("startTime",date + " " +"00:00:00");
- params.put("endTime",date+ " " +"23:59:59");
- List<NewSystemFormatEntiy> dtoList = salesDetailMapper.querySalesAgain(params);
- pushDateEccs(dtoList);
- }
- }
|