import com.ssm.core.utils.AESUtils;
import com.ssm.core.utils.BigDecimalUtils;
import io.swagger.models.auth.In;

import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;

public class Test {





//    public static void main(String[] args) {
//        /*System.out.println(AESUtils.encrypt("15239935071"));
//        System.out.println(AESUtils.encrypt("18300700324"));
//
//        try {
//            System.out.println(AESUtils.decrypt("64f5fbc55418a3698cc2f8625afe3c79"));
//        } catch (Exception e) {
//            e.printStackTrace();
//        }*/
//        List<Stu> list = new ArrayList<>();
//        Stu stu = new Stu();
//        stu.setI("1");
//        stu.setName("aa");
//        stu.setM(BigDecimal.valueOf(6));
//        Stu stu2 = new Stu();
//        stu2.setI("2");
//        stu2.setName("bb");
//        stu2.setM(BigDecimal.valueOf(5));
//        Stu stu3 = new Stu();
//        stu3.setI("1");
//        stu3.setName("cc");
//        stu3.setM(BigDecimal.valueOf(3));
//        list.add(stu);
//        list.add(stu2);
//        list.add(stu3);
//
//        //Map<String, BigDecimal> collect = list.stream().collect(Collectors.groupingBy(Stu::getI, Collectors.mapping(Stu::getM, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
//
//        List<Stu> studentList=new ArrayList<>();
//        list.parallelStream().collect(Collectors.groupingBy(o -> (o.getI()),Collectors.toList())).forEach((i, transfer)->{
//            transfer.stream().reduce((a,b)->new Stu(a.getI(),a.getM().add(b.getM()),a.getName())).ifPresent(studentList::add);
//        });
//        for (Stu stu1 : studentList) {
//            System.out.println(stu1);
//        }
//
//    }
//
//    static class Stu{
//        public Stu(String i, BigDecimal m, String name) {
//            this.i = i;
//            this.m = m;
//            this.name = name;
//        }
//
//        @Override
//        public String toString() {
//            return "Stu{" +
//                    "i='" + i + '\'' +
//                    ", m=" + m +
//                    ", name='" + name + '\'' +
//                    '}';
//        }
//
//        public Stu() {
//        }
//
//        public String getI() {
//            return i;
//        }
//
//        public void setI(String i) {
//            this.i = i;
//        }
//
//        public BigDecimal getM() {
//            return m;
//        }
//
//        public void setM(BigDecimal m) {
//            this.m = m;
//        }
//
//        public String getName() {
//            return name;
//        }
//
//        public void setName(String name) {
//            this.name = name;
//        }
//
//        String i;
//        BigDecimal m;
//        String name;
//    }



}
