From 9668ce3911266c1c3810c047408cc58e03086139 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 29 Dec 2017 16:56:23 +0800 Subject: [PATCH] Merge branch 'master' of ssh://blit.7drlb.com:29418/screen_api_v2 --- src/main/java/com/moral/service/DeviceVersionService.java | 3 + src/main/java/com/moral/common/util/ExampleUtil.java | 28 ++++++++++++-- src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java | 28 ++++++++++++++ src/main/java/com/moral/controller/DeviceVersionController.java | 13 ++++++ src/main/java/com/moral/common/bean/PageBean.java | 3 + src/main/java/com/moral/common/util/MyBatisBaseMapUtil.java | 2 6 files changed, 70 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/moral/common/bean/PageBean.java b/src/main/java/com/moral/common/bean/PageBean.java index 60900df..b0cb5db 100644 --- a/src/main/java/com/moral/common/bean/PageBean.java +++ b/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������ /** diff --git a/src/main/java/com/moral/common/util/ExampleUtil.java b/src/main/java/com/moral/common/util/ExampleUtil.java index 3fe825c..3277d11 100644 --- a/src/main/java/com/moral/common/util/ExampleUtil.java +++ b/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) { diff --git a/src/main/java/com/moral/common/util/MyBatisBaseMapUtil.java b/src/main/java/com/moral/common/util/MyBatisBaseMapUtil.java index c306d46..570e5c0 100644 --- a/src/main/java/com/moral/common/util/MyBatisBaseMapUtil.java +++ b/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); diff --git a/src/main/java/com/moral/controller/DeviceVersionController.java b/src/main/java/com/moral/controller/DeviceVersionController.java index e9c750b..a6b9fbe 100644 --- a/src/main/java/com/moral/controller/DeviceVersionController.java +++ b/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; + } } diff --git a/src/main/java/com/moral/service/DeviceVersionService.java b/src/main/java/com/moral/service/DeviceVersionService.java index 7193821..5220a19 100644 --- a/src/main/java/com/moral/service/DeviceVersionService.java +++ b/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); } diff --git a/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java index e5aaa1e..8ea3288 100644 --- a/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java +++ b/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); + } + + } + } } -- Gitblit v1.8.0