fengxiang
2017-12-29 9668ce3911266c1c3810c047408cc58e03086139
Merge branch 'master' of ssh://blit.7drlb.com:29418/screen_api_v2

# Conflicts:
# src/main/java/com/moral/common/bean/PageBean.java
6 files modified
77 ■■■■■ changed files
src/main/java/com/moral/common/bean/PageBean.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/common/util/ExampleUtil.java 28 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/common/util/MyBatisBaseMapUtil.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/DeviceVersionController.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/DeviceVersionService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/common/bean/PageBean.java
@@ -24,7 +24,8 @@
    private Integer pageIndex;    // 第几页
    private Integer pageSize;    // 每页记录数
    private Integer pages;        // 总页数
    private String queryParams;
    private String queryParams; //查询参数
    private String orderByClause;//排序条件
    private Integer size;        // 当前页的数量 <= pageSize,该属性来自ArrayList的size属性
    
    /**
src/main/java/com/moral/common/util/ExampleUtil.java
@@ -1,5 +1,6 @@
package com.moral.common.util;
import com.moral.common.bean.PageBean;
import lombok.extern.log4j.Log4j;
import tk.mybatis.mapper.entity.Example;
import java.beans.PropertyDescriptor;
@@ -18,16 +19,35 @@
    private final static String CRITERIA_SPLIT = "\\|\\|\\|";
    private final static String CONDITION_SPLIT = "\\|\\|";
    private static Map<String, Method> criteriaMethodMap = null;
    public static Example generateExample(Class clzz, String params) {
        Example example = new Example(clzz);
    private static void setOrderByClause(Example example,String orderByClause) throws UnsupportedEncodingException {
           orderByClause = URLDecoder.decode(orderByClause,"UTF-8");
           String[] orderBys = orderByClause.split(CRITERIA_SPLIT);
           for(String orderBy : orderBys){
               String[] items = orderBy.split(CONDITION_SPLIT);
               String property = items[0];
               String sort = items[1];
               if("asc".equals(sort)){
                   example.orderBy(property).asc();
               }else{
                   example.orderBy(property).desc();
               }
           }
    }
    public static Example generateExample(Class clzz, PageBean page) {
        Example example = null;
        try {
            String params = page.getQueryParams();
            String orderByClause = page.getOrderByClause();
            example = new Example(clzz);
            if(!StringUtils.isNullOrEmpty(orderByClause)){
                setOrderByClause(example,orderByClause);
            }
            if(StringUtils.isNullOrEmpty(params)){ return example;}
            params = URLDecoder.decode(params, "UTF-8");
            if (!StringUtils.isNullOrEmpty(params) && params.startsWith("or|")) {
                String[] criteria = params.trim().split(OR_SPLIT);
                Example.Criteria criteriaOfExample = example.or();
                for (String criterion : criteria) {
                    Example.Criteria criteriaOfExample = example.or();
                    if (!StringUtils.isNullOrEmpty(criterion)) {
                        String[] conditions = criterion.trim().split(CRITERIA_SPLIT);
                        for (String condition : conditions) {
src/main/java/com/moral/common/util/MyBatisBaseMapUtil.java
@@ -18,7 +18,7 @@
     public static PageBean queryPage(BaseMapper baseMapper, PageBean pageBean,Class clazz){
          List page = null;
          try {
               Example example = ExampleUtil.generateExample(clazz,pageBean.getQueryParams());
               Example example = ExampleUtil.generateExample(clazz,pageBean);
               PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
               page = baseMapper.selectByExample(example);
src/main/java/com/moral/controller/DeviceVersionController.java
@@ -3,6 +3,7 @@
import com.moral.common.bean.PageBean;
import com.moral.common.bean.PageResult;
import com.moral.common.bean.ResultBean;
import com.moral.entity.DeviceVersion;
import com.moral.service.DeviceVersionService;
import org.springframework.web.bind.annotation.*;
@@ -21,4 +22,16 @@
    public PageBean<DeviceVersion> pageList(PageBean pageBean) throws NoSuchMethodException, UnsupportedEncodingException {
        return deviceVersionService.queryByPageBean(pageBean);
    }
    @PostMapping("delete-by-ids")
    public ResultBean deleteByIds(@RequestBody Integer [] ids){
        deviceVersionService.deleteByIds(ids);
        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
        return resultBean;
    }
    @PostMapping("add-or-modify")
    public ResultBean addOrModify(@RequestBody DeviceVersion deviceVersion){
        deviceVersionService.addOrModify(deviceVersion);
        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
        return resultBean;
    }
}
src/main/java/com/moral/service/DeviceVersionService.java
@@ -8,5 +8,6 @@
public interface DeviceVersionService {
    public PageBean queryByPageBean(PageBean pageBean);
    public void addOrModify(DeviceVersion deviceVersion);
    public void deleteByIds(Integer... ids);
}
src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
@@ -11,6 +11,8 @@
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;
@Service
public class DeviceVersionServiceImpl implements DeviceVersionService {
@@ -20,4 +22,30 @@
      public PageBean queryByPageBean(PageBean pageBean){
           return MyBatisBaseMapUtil.queryPage(deviceVersionMapper,pageBean,ENTITY_CLASS);
      }
      public void addOrModify(DeviceVersion deviceVersion){
            try{
                  if(deviceVersion.getId()==null){
                        deviceVersionMapper.insertSelective(deviceVersion);
                  }else{
                        deviceVersionMapper.updateByPrimaryKeySelective(deviceVersion);
                  }
            }
            catch (Exception ex){
                  throw  ex;
            }
      }
      @Override
      public void deleteByIds(Integer... ids) {
            if(ids!=null&&ids.length>0){
                  if(ids.length==1){
                        deviceVersionMapper.deleteByPrimaryKey(ids[0]);
                  }else{
                        Example example = new Example(DeviceVersion.class);
                        example.or().andIn("id", Arrays.asList(ids));
                        deviceVersionMapper.deleteByExample(example);
                  }
            }
      }
}