1 目的,透传字段

2 设计,因为不同的渠道需要透传的字段不同,为了,动态,做一个开关,map《key,list《string》》

key就是渠道code,list中的string就是所需要的字段。

字段这里我没有做开关,要做的也可以在加一个开关,通过反射获得实体中的字段信息。

此处反射代码示例

 1 @Test
 2     public void t(){
 3         String touChuanCode = "name,dadName";
 4         Student student = new Student();
 5         student.setName("aaaa");
 6         student.setDadName("bbbb");
 7 
 8         List<String> strings = Splitter.on(",").omitEmptyStrings().splitToList(touChuanCode);
 9         strings.forEach(s -> {
10             try {
11 //获得实体的对应属性反射器
12                 Field declaredField = student.getClass().getDeclaredField(s);
13 //设置属性可以通过反射获得修改
14                 declaredField.setAccessible(true);
15 //通过属性反射器去获得对应实体的字段值
16                 Object o = declaredField.get(student);
17                 System.out.println(declaredField);
18                 System.out.println(o);
19             } catch (NoSuchFieldException e) {
20                 e.printStackTrace();
21             } catch (IllegalAccessException e) {
22                 e.printStackTrace();
23             }
24         });
25     }

3 分割符号的快速使用

<dependency>

<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version></dependency>

pom 

4 计算价格保留小数的方法

BigDecimal singlePrice = new BigDecimal(payFee).divide(new BigDecimal(buyAmountSale), 10, BigDecimal.ROUND_HALF_UP);