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