package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.TGoodsMapper;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.dao.TClaimMapper;
import com.stylefeng.guns.modular.system.service.ITClaimService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.modular.system.utils.UserInfoUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
/**
*
* 投诉 服务实现类
*
*
* @author stylefeng
* @since 2023-02-06
*/
@Service
public class TClaimServiceImpl extends ServiceImpl implements ITClaimService {
@Autowired
private TGoodsMapper goodsMapper;
@Override
public List getList(Page tClaimListPage,String time, Integer state, String name) {
String sTime =null;
String eTime = null;
if(ToolUtil.isNotEmpty(time)){
sTime=time.split(" - ")[0]+" 00:00:01";
eTime=time.split(" - ")[1]+" 23:59:59";
}
Integer companyId = UserInfoUtil.getId();
return this.baseMapper.getListCompany(tClaimListPage,sTime,eTime,state,name,companyId);
}
@Override
public TClaimVo getClaimInfo(Integer id) {
TClaimVo claimVo = this.baseMapper.getClaimInfo(id);
Long orderId = claimVo.getOrderId();
// 根据订单id获取订单详情
ArrayList tGoodsClaims = new ArrayList<>();
List goods = goodsMapper.selectList(new EntityWrapper().eq("order_id", orderId));
for (TGoods good : goods) {
TGoodsClaim tGoodsClaim = new TGoodsClaim();
tGoodsClaim.setContainerNumber(good.getContainerNumber());
tGoodsClaim.setDanger(good.getDanger());
tGoodsClaim.setId(good.getId());
tGoodsClaim.setKg(good.getKg());
tGoodsClaim.setShippingLine(good.getShippingLine());
tGoodsClaim.setSize(good.getSize());
tGoodsClaim.setWeight(good.getWeight());
claimVo.setBLNO(good.getBillNumber());
claimVo.setHazmat(good.getDanger());
claimVo.setOverweight(good.getWeight());
claimVo.setShippingLine(good.getShippingLine());
tGoodsClaims.add(tGoodsClaim);
}
claimVo.setCargo(tGoodsClaims);
// 获取订单文件
claimVo.setFiles(this.baseMapper.getOrderFile(orderId));
return claimVo;
}
public static void main(String[] args) {
// 定义最大容量为10
final int maxSize = 10;
// 参数boolean accessOrder含义:false-按照插入顺序排序;true-按照访问顺序排序。
Map map = new LinkedHashMap(0, 0.75f, true) {
// LinkedHashMap加入新元素时会自动调用该方法,若返回true,则会删除链表尾部的元素
@Override
protected boolean removeEldestEntry(Map.Entry eldest) {
return size() > maxSize;
}
};
// 先往map中加入10个元素(定义的最大容量为10)
for (int i = 1; i <= 10; i++) {
map.put(i, i);
}
// 访问一下第6个元素,看看是否会排到链表的头部
map.get(6);
System.out.println("发现第6个元素排到了链表的头部:" + map.toString());
// 再加数据
map.put(11, 11);
System.out.println("删除链表尾部的元素,再将新的元素添加至链表头部 :" + map.toString());
}
}