(list);
+ m.addAttribute("userList",list);
+ m.addAttribute("page",page);
return "/admin/system/user/user";
}
- @RequiresRoles("admin")
+ @RequiresPermissions("user:add")
@RequestMapping("user_add.view")
public String userAddView(Model m) {
m.addAttribute("roleList", roleBiz.findAll());
return "/admin/system/user/user_add";
}
- @RequiresRoles("admin")
+ @RequiresPermissions("user:add")
@RequestMapping("findById")
public String findById(String id, Model m) {
m.addAttribute("user", userBiz.findById(id));
@@ -49,14 +59,14 @@ public String findById(String id, Model m) {
return "/admin/system/user/user_update";
}
- @RequiresRoles("admin")
+ @RequiresPermissions("user:update")
@RequestMapping("update")
public String update(User user) {
userBiz.update(user);
return "redirect:/user.do/user.view";
}
- @RequiresRoles("admin")
+ @RequiresPermissions("user:add")
@RequestMapping("add")
public String add(User user) {
@@ -64,7 +74,7 @@ public String add(User user) {
return "redirect:/user.do/user.view";
}
- @RequiresRoles("admin")
+ @RequiresPermissions("user:delete")
@RequestMapping("delete")
public String delete(String id) {
userBiz.delete(id);
diff --git a/src/main/java/com/system/dao/ResourceDao.java b/src/main/java/com/system/dao/ResourceDao.java
index e223b0f..f1ce376 100644
--- a/src/main/java/com/system/dao/ResourceDao.java
+++ b/src/main/java/com/system/dao/ResourceDao.java
@@ -5,21 +5,15 @@
import com.entity.Resource;
-/**
- * Resource: Zhang Kaitao
- *
Date: 14-1-28
- *
Version: 1.0
- */
public interface ResourceDao {
public void createResource(Resource resource);
- public Resource updateResource(Resource resource);
+ public void updateResource(Resource resource);
public void deleteResource(Long resourceId);
Resource findOne(Long resourceId);
List findAll();
-
}
diff --git a/src/main/java/com/system/dao/UserDao.java b/src/main/java/com/system/dao/UserDao.java
index c8fbc04..e4e6c96 100644
--- a/src/main/java/com/system/dao/UserDao.java
+++ b/src/main/java/com/system/dao/UserDao.java
@@ -24,5 +24,5 @@ public interface UserDao {
public void updatePassword(@Param("userId") String id, @Param("password") String password);
- User findByUsername(String username);
+ public List findByRole(String role);
}
diff --git a/src/main/java/com/system/interceptor/BreadcrumbIntercepter.java b/src/main/java/com/system/interceptor/BreadcrumbIntercepter.java
index 89189cd..799ccad 100644
--- a/src/main/java/com/system/interceptor/BreadcrumbIntercepter.java
+++ b/src/main/java/com/system/interceptor/BreadcrumbIntercepter.java
@@ -20,14 +20,11 @@
import com.google.common.collect.Lists;
import com.system.model.Breadcrumb;
-/**
- * Created by c0de8ug on 16-2-14.
- */
public class BreadcrumbIntercepter implements HandlerInterceptor {
private Logger log = Logger.getLogger(BreadcrumbIntercepter.class);
private Properties properties;
//private Pattern p1 = Pattern.compile("[//\\a-zA-Z]+?(? breadcrumbs = (List)session.getAttribute("breadcrumbs");
Matcher matcher = pc.matcher(url);
@@ -65,7 +62,7 @@ public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletRespo
return true;
}
- if(url.matches("[//\\a-zA-Z]+?(?User: Zhang Kaitao
- * Date: 14-1-28
- *
Version: 1.0
- */
public interface ResourceBiz {
public void createResource(Resource resource);
- public Resource updateResource(Resource resource);
+ public void updateResource(Resource resource);
public void deleteResource(Long resourceId);
Resource findOne(Long resourceId);
diff --git a/src/main/java/com/system/service/UserBiz.java b/src/main/java/com/system/service/UserBiz.java
index 025d623..a498b52 100644
--- a/src/main/java/com/system/service/UserBiz.java
+++ b/src/main/java/com/system/service/UserBiz.java
@@ -1,18 +1,17 @@
package com.system.service;
-import com.entity.User;
-import com.entity.vo.UserVo;
-
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Set;
+import com.entity.User;
+
/**
* Created by c0de8ug on 16-2-9.
*/
public interface UserBiz {
- public List findAll() throws InvocationTargetException, IllegalAccessException;
+ public List findAll() throws InvocationTargetException, IllegalAccessException;
public User findById(String id);
@@ -25,9 +24,9 @@ public interface UserBiz {
public void changePassword(String userId, String newPassword);
- public User findByUsername(String username);
-
public Set findRoles(String username);
public Set findPermissions(String username);
+
+ public List findByRole(String string);
}
diff --git a/src/main/java/com/system/service/impl/ResourceBizImpl.java b/src/main/java/com/system/service/impl/ResourceBizImpl.java
index acba97e..9659a93 100644
--- a/src/main/java/com/system/service/impl/ResourceBizImpl.java
+++ b/src/main/java/com/system/service/impl/ResourceBizImpl.java
@@ -14,11 +14,6 @@
import com.system.dao.ResourceDao;
import com.system.service.ResourceBiz;
-/**
- * User: Zhang Kaitao
- *
Date: 14-2-14
- *
Version: 1.0
- */
@Service
public class ResourceBizImpl implements ResourceBiz {
@@ -31,8 +26,8 @@ public void createResource(Resource resource) {
}
@Override
- public Resource updateResource(Resource resource) {
- return resourceDao.updateResource(resource);
+ public void updateResource(Resource resource) {
+ resourceDao.updateResource(resource);
}
@Override
diff --git a/src/main/java/com/system/service/impl/UserBizImpl.java b/src/main/java/com/system/service/impl/UserBizImpl.java
index 7d59d2b..95fb9e6 100644
--- a/src/main/java/com/system/service/impl/UserBizImpl.java
+++ b/src/main/java/com/system/service/impl/UserBizImpl.java
@@ -1,20 +1,17 @@
package com.system.service.impl;
import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.entity.Role;
import com.entity.User;
-import com.entity.vo.UserVo;
import com.system.dao.RoleDao;
import com.system.dao.UserDao;
import com.system.service.RoleBiz;
@@ -40,11 +37,8 @@ public class UserBizImpl implements UserBiz {
private RoleBiz roleBiz;
@Override
- public List findAll() throws InvocationTargetException, IllegalAccessException {
- List userVoList = new ArrayList<>();
+ public List findAll() throws InvocationTargetException, IllegalAccessException {
List userList = userDao.findAll();
-
-
Iterator iterator = userList.iterator();
while (iterator.hasNext()) {
@@ -52,9 +46,6 @@ public List findAll() throws InvocationTargetException, IllegalAccessExc
User user = (User) iterator.next();
List roleIds = user.getRoleIds();
- UserVo userVo = new UserVo();
- BeanUtils.copyProperties(userVo, user);
-
if (roleIds != null) {
int i = 0;
int size = roleIds.size();
@@ -66,18 +57,18 @@ public List findAll() throws InvocationTargetException, IllegalAccessExc
}
Role role = roleDao.findOne(roleIds.get(i));
s.append(role.getDescription());
- userVo.setRoleIdsStr(s.toString());
+ user.setRoleDesc(s.toString());
}
-
-
- userVoList.add(userVo);
-
}
-
- return userVoList;
+ return userList;
}
@Override
+ public List findByRole(String role) {
+ return userDao.findByRole(role);
+ }
+
+ @Override
public User findById(String id) {
return userDao.findById(id);
}
@@ -112,13 +103,8 @@ public void changePassword(String userId, String newPassword) {
}
@Override
- public User findByUsername(String username) {
- return userDao.findById(username);
- }
-
- @Override
- public Set findRoles(String username) {
- User user = findByUsername(username);
+ public Set findRoles(String userid) {
+ User user = findById(userid);
if (user == null) {
return Collections.emptySet();
}
@@ -126,8 +112,8 @@ public Set findRoles(String username) {
}
@Override
- public Set findPermissions(String username) {
- User user = findByUsername(username);
+ public Set findPermissions(String userid) {
+ User user = findById(userid);
if (user == null) {
return Collections.emptySet();
}
diff --git a/src/main/java/com/util/Constant.java b/src/main/java/com/util/Constant.java
new file mode 100644
index 0000000..6f54626
--- /dev/null
+++ b/src/main/java/com/util/Constant.java
@@ -0,0 +1,19 @@
+package com.util;
+
+/**
+ * 系统常量
+ *
+ * @author wujuan
+ *
+ */
+public class Constant {
+
+ public static final String MSG_ERROR = "-1";
+ public static final String MSG_CONFLICT = "-2";
+ public static final String MSG_OK = "0";
+
+ public static final String OK_SYS = "成功";
+ public static final String ERROR_SYS = "系统错误";
+ public static final String ERROR_ANALY = "json解析错误";
+
+}
diff --git a/src/main/java/com/util/FtpClient.java b/src/main/java/com/util/FtpClient.java
new file mode 100644
index 0000000..662273d
--- /dev/null
+++ b/src/main/java/com/util/FtpClient.java
@@ -0,0 +1,86 @@
+package com.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import com.enterprisedt.net.ftp.FTPClient;
+import com.enterprisedt.net.ftp.FTPConnectMode;
+import com.enterprisedt.net.ftp.FTPException;
+import com.enterprisedt.net.ftp.FTPTransferType;
+
+public class FtpClient {
+ private FTPClient ftpClient = null;
+
+ public void connectServer(String server, String user, String password) throws IOException, FTPException {
+ if (ftpClient == null || !ftpClient.connected()) {
+ ftpClient = new FTPClient();
+ ftpClient.setRemoteHost(server);
+ ftpClient.setTimeout(500000);
+ ftpClient.connect();
+ ftpClient.login(user, password);
+ ftpClient.setConnectMode(FTPConnectMode.PASV);
+ ftpClient.setType(FTPTransferType.BINARY);
+ }
+ }
+
+ public void changeDir(String path) {
+ if (path == null || path.equals("")) {
+ return;
+ }
+ String temp[] = path.split("/");
+ for (int i = 0; i < temp.length; i++) {
+ try {
+ if (temp[i] == null || temp[i].equals("")) {
+ continue;
+ }
+ ftpClient.chdir(temp[i]);
+ } catch (FTPException fe) {
+ try {
+ ftpClient.mkdir(temp[i]);
+ ftpClient.chdir(temp[i]);
+ } catch (Exception e) {
+
+ }
+ } catch (Exception ee) {
+
+ }
+ }
+ }
+
+ public void uploadFile(InputStream in, String filename) {
+ try {
+ ftpClient.put(in, filename);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void uploadFile(byte[] bytes, String filename) {
+ try {
+ ftpClient.put(bytes, filename);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void downLoad(OutputStream out, String filename) {
+ try {
+ ftpClient.get(out, filename);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void close() {
+ try {
+ if (ftpClient != null && ftpClient.connected()) {
+ ftpClient.quit();
+ ftpClient = null;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/src/main/java/com/util/PasswordHelper.java b/src/main/java/com/util/PasswordHelper.java
index b3da71b..06c41c4 100644
--- a/src/main/java/com/util/PasswordHelper.java
+++ b/src/main/java/com/util/PasswordHelper.java
@@ -32,6 +32,15 @@ public void setAlgorithmName(String algorithmName) {
public void setHashIterations(int hashIterations) {
this.hashIterations = hashIterations;
}
+
+ public static void main(String[] args) {
+ PasswordHelper ph = new PasswordHelper();
+ User user = new User();
+ user.setUserId("admin");
+ user.setPassword("123456");
+ ph.encryptPassword(user);
+ System.out.println(user);
+ }
public void encryptPassword(User user) {
diff --git a/src/main/java/com/util/ResultMapUtil.java b/src/main/java/com/util/ResultMapUtil.java
new file mode 100644
index 0000000..12d6020
--- /dev/null
+++ b/src/main/java/com/util/ResultMapUtil.java
@@ -0,0 +1,40 @@
+package com.util;
+
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+
+import com.google.common.collect.Maps;
+
+public class ResultMapUtil {
+ public static Map getSuccessMap() {
+ return getSuccessMap(null,null);
+ }
+ public static Map getSuccessMap(String msg) {
+ return getSuccessMap(msg,null);
+ }
+ public static Map getSuccessMap(Object obj) {
+ return getSuccessMap(null,obj);
+ }
+ public static Map getSuccessMap(String msg,Object obj) {
+ Map map = Maps.newHashMap();
+ map.put("resultCode", Constant.MSG_OK);
+ map.put("resultMsg", Constant.OK_SYS);
+ if(!StringUtils.isEmpty(msg))
+ map.put("resultMsg", msg);
+ if(obj!=null)
+ map.put("data", obj);
+ return map;
+ }
+ public static Map getFailMap() {
+ return getFailMap(null);
+ }
+ public static Map getFailMap(String msg) {
+ Map map = Maps.newHashMap();
+ map.put("resultCode", Constant.MSG_ERROR);
+ map.put("resultMsg", Constant.ERROR_SYS);
+ if(!StringUtils.isEmpty(msg))
+ map.put("resultMsg", msg);
+ return map;
+ }
+}
diff --git a/src/main/java/com/util/TaskJob.java b/src/main/java/com/util/TaskJob.java
deleted file mode 100644
index f9612be..0000000
--- a/src/main/java/com/util/TaskJob.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.util;
-
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by c0de8ug on 16-2-15.
- */
-//@Component
-public class TaskJob {
- //@Scheduled(cron = "0 0 0 1 * ?")
- public void job() {
- TermContainer.update();
- }
-}
diff --git a/src/main/java/com/util/Term.java b/src/main/java/com/util/Term.java
deleted file mode 100644
index 9d24fea..0000000
--- a/src/main/java/com/util/Term.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.util;
-
-
-/**
- * Created by c0de8ug on 16-2-15.
- */
-public class Term {
- String val;
- String text;
-
- public String getVal() {
- return val;
- }
-
- public void setVal(String val) {
- this.val = val;
- }
-
- public String getText() {
- return text;
- }
-
- public void setText(String text) {
- this.text = text;
- }
-}
diff --git a/src/main/java/com/util/TermContainer.java b/src/main/java/com/util/TermContainer.java
deleted file mode 100644
index 2b8ca70..0000000
--- a/src/main/java/com/util/TermContainer.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.List;
-
-import org.springframework.stereotype.Component;
-
-/**
- * Created by c0de8ug on 16-2-15.
- */
-@Component
-public class TermContainer {
- static List termList;
- static Date beginTime;
- static HashMap map = new HashMap<>();
- final static String lastTermStr = "上学期";
- final static String nextTermStr = "下学期";
-
- String lastSemester = "2,3,4,5,6,7,8";
- String nextSemester = "1,9,10,11,12";
-
- TermContainer() {
-
-
- for (String temp : lastSemester.split(",")) {
- map.put(temp, lastTermStr);
- }
- for (String temp : nextSemester.split(",")) {
- map.put(temp, nextTermStr);
- }
- beginTime = new GregorianCalendar(2014,1,1).getTime();
- update();
- }
-
- public static void update() {
- termList = new ArrayList<>();
-
- Date today = new Date();
-
-
- int beginYear = beginTime.getYear();
- int todayYear = today.getYear();
- int count = todayYear - beginYear;
-
- if (map.get(String.valueOf(today.getMonth())).equals(nextTermStr)) {
- Term term = new Term();
- term.setVal(todayYear + "2");
- term.setText(todayYear + nextTermStr);
- termList.add(term);
- }
- Term term = new Term();
- term.setVal(todayYear + "1");
- term.setText(todayYear + lastTermStr);
- termList.add(term);
-
-
- for (int i = 0; i < count; i++) {
- todayYear--;
- term = new Term();
- term.setVal(todayYear + "2");
- term.setText(todayYear + nextTermStr);
- termList.add(term);
- term = new Term();
- term.setVal(todayYear + "1");
- term.setText(todayYear + lastTermStr);
- termList.add(term);
-
- }
-
- }
-
-
- public static String now() {
- return termList.get(0).getVal();
- }
-
- public static List getTermList() {
- return termList;
- }
-}
diff --git a/src/main/java/com/vm/controller/AgentController.java b/src/main/java/com/vm/controller/AgentController.java
new file mode 100644
index 0000000..e4aaa7a
--- /dev/null
+++ b/src/main/java/com/vm/controller/AgentController.java
@@ -0,0 +1,164 @@
+package com.vm.controller;
+
+import java.beans.PropertyEditorSupport;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+
+import com.entity.Agent;
+import com.entity.enumeration.AgentLevel;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.system.service.UserBiz;
+import com.util.ResultMapUtil;
+import com.vm.service.AgentBiz;
+import com.vm.service.AreaBiz;
+
+@Controller
+@RequestMapping("agent.do")
+public class AgentController {
+ private Logger log = Logger.getLogger(AgentController.class);
+
+ @Autowired
+ private AgentBiz agentBiz;
+ @Autowired
+ private UserBiz userBiz;
+ @Autowired
+ private AreaBiz areaBiz;
+
+ @InitBinder
+ protected void initBinder(WebDataBinder binder) {
+ binder.registerCustomEditor(AgentLevel.class, new PropertyEditorSupport(){
+ @Override
+ public void setAsText(String text) throws IllegalArgumentException {
+ if(!StringUtils.isEmpty(text))
+ this.setValue(AgentLevel.valueOf(text));
+ }
+ @Override
+ public String getAsText() {
+ AgentLevel value = (AgentLevel)this.getValue();
+ return value.name();
+ }
+ });
+ }
+
+ @RequiresPermissions("agent:query")
+ @RequestMapping("agent.view")
+ public String agentView(Model model) {
+ return "forward:/agent.do/agent.view/0/10";
+ }
+
+ @RequiresPermissions("agent:query")
+ @RequestMapping("agent.view/{pageNum}/{pageSize}")
+ public String agentView(Agent agent,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+ PageHelper.startPage(pageNum, pageSize);
+ List list = agentBiz.find(agent);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("agentList", list);
+ m.addAttribute("page", page);
+ return "/vm/agent/agent";
+ }
+
+ @RequiresPermissions("agent:add")
+ @RequestMapping("agent_add.view")
+ public String agentAddView(Model m) {
+ m.addAttribute("agent", new Agent());
+ m.addAttribute("agentLevel", AgentLevel.values());
+ m.addAttribute("areaList", areaBiz.find(null));
+ m.addAttribute("userList", userBiz.findByRole("agent"));
+ return "/vm/agent/agent_add";
+ }
+
+ @RequiresPermissions("agent:update")
+ @RequestMapping("agent_update.view")
+ public String agentUpdateView(Long id,Model m) {
+ m.addAttribute("agentLevel", AgentLevel.values());
+ m.addAttribute("agent",agentBiz.findById(id));
+ m.addAttribute("areaList", areaBiz.find(null));
+ m.addAttribute("userList", userBiz.findByRole("agent"));
+ return "/vm/agent/agent_update";
+ }
+
+ @RequiresPermissions("agent:add")
+ @RequestMapping("add")
+ public String add(Agent agent) {
+ agentBiz.add(agent);
+ return "redirect:/agent.do/agent.view";
+ }
+
+ @RequiresPermissions("agent:update")
+ @RequestMapping("update")
+ public String update(Agent agent) {
+ agentBiz.update(agent);
+ return "redirect:/agent.do/agent.view";
+ }
+
+ @RequiresPermissions("agent:delete")
+ @RequestMapping("delete")
+ public String delete(Long id) {
+ agentBiz.delete(id);
+ return "redirect:/agent.do/agent.view";
+ }
+
+
+ @SuppressWarnings("resource")
+ @RequiresPermissions("agent:import")
+ @RequestMapping("import")
+ @ResponseBody
+ @Transactional()
+ public Map imp(@RequestParam("file") CommonsMultipartFile file){
+ Workbook wb = null;
+ try {
+ boolean isExcel2007 = file.getOriginalFilename().matches("^.+\\.(?i)(xlsx)$");
+ if(isExcel2007) {
+ wb = new XSSFWorkbook(file.getInputStream());
+ } else {
+ wb = new HSSFWorkbook(file.getInputStream());
+ }
+ Sheet sheet = wb.getSheetAt(0);
+ int rowNum = sheet.getLastRowNum();
+ for(int i=1;i<=rowNum;i++) {
+ Row row = sheet.getRow(i);
+ String level = row.getCell(0).getStringCellValue();
+ AgentLevel agentLevel = AgentLevel.parse(level);
+ String agentName = row.getCell(1).getStringCellValue();
+ if(StringUtils.isEmpty(agentName)) continue;
+ String area = row.getCell(2).getStringCellValue();
+ String openid = row.getCell(3).getStringCellValue();
+ Agent agent = new Agent(agentLevel,agentName,area,openid);
+
+ agentBiz.add(agent);
+ }
+ } catch(NullPointerException e) {
+ log.error("上传文件解析失败",e);
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return ResultMapUtil.getFailMap("字段不允许为空");
+ } catch (IOException e) {
+ log.error("上传文件解析失败",e);
+ return ResultMapUtil.getFailMap();
+ }
+ return ResultMapUtil.getSuccessMap();
+ }
+}
diff --git a/src/main/java/com/vm/controller/AreaController.java b/src/main/java/com/vm/controller/AreaController.java
new file mode 100644
index 0000000..3a963dd
--- /dev/null
+++ b/src/main/java/com/vm/controller/AreaController.java
@@ -0,0 +1,76 @@
+package com.vm.controller;
+
+import java.util.List;
+
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.entity.Area;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.vm.service.AreaBiz;
+
+@Controller
+@RequestMapping("area.do")
+public class AreaController {
+
+ @Autowired
+ private AreaBiz areaBiz;
+
+ @RequiresPermissions("area:query")
+ @RequestMapping("area.view")
+ public String areaView(Model model) {
+ return "forward:/area.do/area.view/0/10";
+ }
+
+ @RequiresPermissions("area:query")
+ @RequestMapping("area.view/{pageNum}/{pageSize}")
+ public String areaView(Area area,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+ PageHelper.startPage(pageNum, pageSize);
+ List list = areaBiz.find(area);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("areaList", list);
+ m.addAttribute("page", page);
+ return "/vm/area/area";
+ }
+
+ @RequiresPermissions("area:add")
+ @RequestMapping("area_add.view")
+ public String areaAddView(Model m) {
+ m.addAttribute("area", new Area());
+ return "/vm/area/area_add";
+ }
+
+ @RequiresPermissions("area:update")
+ @RequestMapping("area_update.view")
+ public String areaUpdateView(Long id,Model m) {
+ m.addAttribute("area",areaBiz.findById(id));
+ return "/vm/area/area_update";
+ }
+
+ @RequiresPermissions("area:add")
+ @RequestMapping("add")
+ public String add(Area area) {
+ areaBiz.add(area);
+ return "redirect:/area.do/area.view";
+ }
+
+ @RequiresPermissions("area:update")
+ @RequestMapping("update")
+ public String update(Area area) {
+ areaBiz.update(area);
+ return "redirect:/area.do/area.view";
+ }
+
+ @RequiresPermissions("area:delete")
+ @RequestMapping("delete")
+ public String delete(Long id) {
+ areaBiz.delete(id);
+ return "redirect:/area.do/area.view";
+ }
+}
diff --git a/src/main/java/com/vm/controller/CarController.java b/src/main/java/com/vm/controller/CarController.java
index b370350..253efce 100644
--- a/src/main/java/com/vm/controller/CarController.java
+++ b/src/main/java/com/vm/controller/CarController.java
@@ -1,14 +1,33 @@
package com.vm.controller;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
import org.apache.log4j.Logger;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.ui.Model;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
import com.entity.Car;
import com.entity.Standard;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.util.ResultMapUtil;
import com.vm.service.CarBiz;
import com.vm.service.StandardBiz;
@@ -21,11 +40,22 @@ public class CarController {
private CarBiz carBiz;
@Autowired
private StandardBiz standardBiz;
-
+
@RequiresPermissions("car:query")
@RequestMapping("car.view")
- public String CarView(Car car,Model m) {
- m.addAttribute("carList", carBiz.find(car));
+ public String carView(Model model) {
+ return "forward:/car.do/car.view/0/10";
+ }
+
+ @RequiresPermissions("car:query")
+ @RequestMapping("car.view/{pageNum}/{pageSize}")
+ public String CarView(Car car,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+ PageHelper.startPage(pageNum, pageSize);
+ List list = carBiz.find(car);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("carList", list);
+ m.addAttribute("page", page);
return "/vm/car/car";
}
@@ -64,5 +94,45 @@ public String delete(Long id) {
carBiz.delete(id);
return "redirect:/car.do/car.view";
}
+
+ @SuppressWarnings("resource")
+ @RequiresPermissions("car:import")
+ @RequestMapping("import")
+ @ResponseBody
+ @Transactional()
+ public Map imp(@RequestParam("file") CommonsMultipartFile file){
+ Workbook wb = null;
+ try {
+ boolean isExcel2007 = file.getOriginalFilename().matches("^.+\\.(?i)(xlsx)$");
+ if(isExcel2007) {
+ wb = new XSSFWorkbook(file.getInputStream());
+ } else {
+ wb = new HSSFWorkbook(file.getInputStream());
+ }
+ Sheet sheet = wb.getSheetAt(0);
+ int rowNum = sheet.getLastRowNum();
+ for(int i=1;i<=rowNum;i++) {
+ Row row = sheet.getRow(i);
+ String carId = row.getCell(0).getStringCellValue();
+ if(StringUtils.isEmpty(carId)) continue;
+ Boolean isSale = row.getCell(1).getBooleanCellValue();
+ Integer high = (int) row.getCell(2).getNumericCellValue();
+ Integer length = (int) row.getCell(3).getNumericCellValue();
+ Integer wide = (int) row.getCell(4).getNumericCellValue();
+ Integer weight = (int) row.getCell(5).getNumericCellValue();
+
+ Car car = new Car(carId,isSale,high,length,wide,weight);
+ carBiz.add(car);
+ }
+ } catch(NullPointerException e) {
+ log.error("上传文件解析失败",e);
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return ResultMapUtil.getFailMap("字段不允许为空");
+ } catch (IOException e) {
+ log.error("上传文件解析失败",e);
+ return ResultMapUtil.getFailMap();
+ }
+ return ResultMapUtil.getSuccessMap();
+ }
}
diff --git a/src/main/java/com/vm/controller/OrderController.java b/src/main/java/com/vm/controller/OrderController.java
new file mode 100644
index 0000000..f4902aa
--- /dev/null
+++ b/src/main/java/com/vm/controller/OrderController.java
@@ -0,0 +1,173 @@
+package com.vm.controller;
+
+import java.beans.PropertyEditorSupport;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+
+import com.entity.Agent;
+import com.entity.Car;
+import com.entity.Order;
+import com.entity.enumeration.OrderType;
+import com.entity.enumeration.Status;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.util.ResultMapUtil;
+import com.vm.service.AgentBiz;
+import com.vm.service.CarBiz;
+import com.vm.service.OrderBiz;
+
+@Controller
+@RequestMapping("order.do")
+public class OrderController {
+ private Logger log = Logger.getLogger(OrderController.class);
+
+ @Autowired
+ private OrderBiz orderBiz;
+ @Autowired
+ private CarBiz carBiz;
+ @Autowired
+ private AgentBiz agentBiz;
+
+
+ @InitBinder
+ protected void initBinder(WebDataBinder binder) {
+ binder.registerCustomEditor(OrderType.class, new PropertyEditorSupport(){
+ @Override
+ public void setAsText(String text) throws IllegalArgumentException {
+ if(!StringUtils.isEmpty(text))
+ this.setValue(OrderType.valueOf(text));
+ }
+ @Override
+ public String getAsText() {
+ OrderType value = (OrderType)this.getValue();
+ return value.name();
+ }
+ });
+ }
+
+ @RequiresPermissions("order:query")
+ @RequestMapping("order.view")
+ public String orderView(Model model) {
+ return "forward:/order.do/order.view/0/10";
+ }
+
+ @RequiresPermissions("order:query")
+ @RequestMapping("order.view/{pageNum}/{pageSize}")
+ public String orderView(Order order,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+ PageHelper.startPage(pageNum, pageSize);
+ List list = orderBiz.find(order);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("orderList", list);
+ m.addAttribute("page", page);
+ return "/vm/order/order";
+ }
+
+ @RequestMapping("external/order_add.view")
+ public String orderAddView(ModelMap m) {
+ String openid = (String) m.get("openid");
+ String orderType = (String) m.get("orderType");
+ if(StringUtils.isEmpty(openid)) {
+ openid = "test";
+ m.put("openid", openid);
+ }
+ if(StringUtils.isEmpty(orderType)) {
+ orderType = OrderType.DISTRIBUTION.name();
+ m.put("orderType", orderType);
+ }
+ Agent agent = agentBiz.findByOpenId(openid);
+ List carList = carBiz.findByLevel(agent.getLevel());
+ m.put("carList", carList);
+ return "/vm/order/external_order_add";
+ }
+
+ @RequestMapping("external/add")
+ public String add(Order order) {
+ order.setStatus(Status.START);
+ orderBiz.add(order);
+ return "/vm/order/external_order_add_success";
+ }
+
+ @RequiresPermissions("order:update")
+ @RequestMapping("order_update.view")
+ public String orderUpdateView(Long id,Model m) {
+ m.addAttribute("order",orderBiz.findById(id));
+ return "/vm/order/order_update";
+ }
+
+
+ @RequiresPermissions("order:update")
+ @RequestMapping("update")
+ public String update(Order order) {
+ orderBiz.update(order);
+ return "redirect:/order.do/order.view";
+ }
+
+ @RequiresPermissions("order:delete")
+ @RequestMapping("delete")
+ public String delete(Long id) {
+ orderBiz.delete(id);
+ return "redirect:/order.do/order.view";
+ }
+
+
+ @SuppressWarnings("resource")
+ @RequiresPermissions("order:import")
+ @RequestMapping("import")
+ @ResponseBody
+ @Transactional()
+ public Map imp(@RequestParam("file") CommonsMultipartFile file){
+ Workbook wb = null;
+ try {
+ boolean isExcel2007 = file.getOriginalFilename().matches("^.+\\.(?i)(xlsx)$");
+ if(isExcel2007) {
+ wb = new XSSFWorkbook(file.getInputStream());
+ } else {
+ wb = new HSSFWorkbook(file.getInputStream());
+ }
+ Sheet sheet = wb.getSheetAt(0);
+ int rowNum = sheet.getLastRowNum();
+ for(int i=1;i<=rowNum;i++) {
+ Row row = sheet.getRow(i);
+ String level = row.getCell(0).getStringCellValue();
+ String orderName = row.getCell(1).getStringCellValue();
+ if(StringUtils.isEmpty(orderName)) continue;
+ String area = row.getCell(2).getStringCellValue();
+ Order order = new Order();
+
+ orderBiz.add(order);
+ }
+ } catch(NullPointerException e) {
+ log.error("上传文件解析失败",e);
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return ResultMapUtil.getFailMap("字段不允许为空");
+ } catch (IOException e) {
+ log.error("上传文件解析失败",e);
+ return ResultMapUtil.getFailMap();
+ }
+ return ResultMapUtil.getSuccessMap();
+ }
+}
diff --git a/src/main/java/com/vm/controller/ProcurementController.java b/src/main/java/com/vm/controller/ProcurementController.java
new file mode 100644
index 0000000..5af951a
--- /dev/null
+++ b/src/main/java/com/vm/controller/ProcurementController.java
@@ -0,0 +1,95 @@
+package com.vm.controller;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.log4j.Logger;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.entity.Procurement;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.vm.service.FileUploadBiz;
+import com.vm.service.ProcurementBiz;
+
+@Controller
+@RequestMapping("procurement.do")
+public class ProcurementController {
+ private Logger log = Logger.getLogger(ProcurementController.class);
+
+ @Autowired
+ private ProcurementBiz procBiz;
+ @Autowired
+ private FileUploadBiz fileUpload;
+
+ @RequiresPermissions("procurement:query")
+ @RequestMapping("procurement.view")
+ public String ProcurementViewForword(Model model) {
+ return "forward:/procurement.do/procurement.view/0/10";
+ }
+
+ @RequiresPermissions("procurement:query")
+ @RequestMapping("procurement.view/{pageNum}/{pageSize}")
+ public String ProcurementView(Procurement procurement,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+
+ PageHelper.startPage(pageNum, pageSize);
+ List list = procBiz.find(procurement);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("procurementList", list);
+ m.addAttribute("page", page);
+ return "/vm/procurement/procurement";
+ }
+
+ @RequiresPermissions("procurement:add")
+ @RequestMapping("procurement_add.view")
+ public String procurementAddView(Model m) {
+
+ return "/vm/procurement/procurement_add";
+ }
+ @RequiresPermissions("procurement:add")
+ @RequestMapping("add")
+ public String add(Procurement procurement) {
+ procBiz.add(procurement);
+ return "redirect:/procurement.do/procurement.view";
+ }
+
+ @RequiresPermissions("procurement:update")
+ @RequestMapping("procurement_update.view")
+ public String procurementUpdateView(Long id,Model m) {
+ m.addAttribute("procurement",procBiz.findById(id));
+ return "/vm/procurement/procurement_update";
+ }
+
+ @RequiresPermissions("procurement:update")
+ @RequestMapping("update")
+ public String update(Procurement procurement) {
+ procBiz.update(procurement);
+ return "redirect:/procurement.do/procurement.view";
+ }
+
+ @RequiresPermissions("procurement:delete")
+ @RequestMapping("delete")
+ public String delete(Long id) {
+ procBiz.delete(id);
+ return "redirect:/procurement.do/procurement.view";
+ }
+
+ @RequiresPermissions("procurement:import")
+ @RequestMapping("import")
+ @ResponseBody
+ @Transactional()
+ public Map imp(HttpServletRequest request){
+
+ return fileUpload.fileUploadFile(request);
+ }
+}
diff --git a/src/main/java/com/vm/controller/StandardController.java b/src/main/java/com/vm/controller/StandardController.java
index 206d764..dbe491a 100644
--- a/src/main/java/com/vm/controller/StandardController.java
+++ b/src/main/java/com/vm/controller/StandardController.java
@@ -1,12 +1,17 @@
package com.vm.controller;
+import java.util.List;
+
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Standard;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
import com.vm.service.StandardBiz;
@Controller
@@ -15,11 +20,22 @@ public class StandardController {
@Autowired
private StandardBiz standardBiz;
-
+
@RequiresPermissions("standard:query")
@RequestMapping("standard.view")
- public String standardView(Standard standard,Model m) {
- m.addAttribute("standardList", standardBiz.find(standard));
+ public String standardView(Model model) {
+ return "forward:/standard.do/standard.view/0/10";
+ }
+
+ @RequiresPermissions("standard:query")
+ @RequestMapping("standard.view/{pageNum}/{pageSize}")
+ public String standardView(Standard standard,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+ PageHelper.startPage(pageNum, pageSize);
+ List list = standardBiz.find(standard);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("standardList", list);
+ m.addAttribute("page", page);
return "/vm/standard/standard";
}
diff --git a/src/main/java/com/vm/controller/UploadController.java b/src/main/java/com/vm/controller/UploadController.java
new file mode 100644
index 0000000..a6b877c
--- /dev/null
+++ b/src/main/java/com/vm/controller/UploadController.java
@@ -0,0 +1,95 @@
+package com.vm.controller;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.entity.FileInfo;
+import com.util.ResultMapUtil;
+import com.vm.service.FileUploadBiz;
+
+
+@Controller
+@RequestMapping("upload.do")
+public class UploadController {
+ private Logger log = Logger.getLogger(UploadController.class);
+
+ @Autowired
+ private FileUploadBiz fileUpload;
+
+
+ /**
+ * 上传文件
+ *
+ * @param request
+ * @return
+ */
+ @RequestMapping("file")
+ @ResponseBody
+ public Map uploadFile(HttpServletRequest request) {
+ return fileUpload.fileUploadFile(request);
+ }
+
+ /**
+ * 上传图片
+ *
+ * @param request
+ * @return
+ */
+ @RequestMapping("image")
+ @ResponseBody
+ public Map uploadImage(HttpServletRequest request) {
+ return fileUpload.fileUploadImage(request);
+ }
+
+ /**
+ * 多文件上传
+ *
+ * @param request
+ * @return
+ */
+ @RequestMapping("multiple")
+ @ResponseBody
+ public Map uploadMultiple(HttpServletRequest request) {
+ return fileUpload.uploadMultiple(request);
+ }
+
+ @RequestMapping("delete")
+ @ResponseBody
+ public Map delete(Long id) {
+ try {
+ fileUpload.delete(id);
+ } catch(Exception e) {
+ log.error("DeleteError",e);
+ return ResultMapUtil.getFailMap();
+ }
+ return ResultMapUtil.getSuccessMap();
+ }
+
+
+ @RequestMapping("query")
+ @ResponseBody
+ public Map query(Long id) {
+ FileInfo fileInfo = fileUpload.query(id);
+ return ResultMapUtil.getSuccessMap(fileInfo);
+ }
+
+ @RequestMapping("queryByIds")
+ @ResponseBody
+ public Map query(String ids) {
+ try {
+ List list = fileUpload.query(ids);
+ return ResultMapUtil.getSuccessMap(list);
+ } catch(Exception e) {
+ log.error("QueryError",e);
+ return ResultMapUtil.getFailMap();
+ }
+ }
+}
diff --git a/src/main/java/com/vm/controller/VendorController.java b/src/main/java/com/vm/controller/VendorController.java
new file mode 100644
index 0000000..bc4de71
--- /dev/null
+++ b/src/main/java/com/vm/controller/VendorController.java
@@ -0,0 +1,76 @@
+package com.vm.controller;
+
+import java.util.List;
+
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.entity.Vendor;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.vm.service.VendorBiz;
+
+@Controller
+@RequestMapping("vendor.do")
+public class VendorController {
+
+ @Autowired
+ private VendorBiz vendorBiz;
+
+ @RequiresPermissions("vendor:query")
+ @RequestMapping("vendor.view")
+ public String vendorView(Model model) {
+ return "forward:/vendor.do/vendor.view/0/10";
+ }
+
+ @RequiresPermissions("vendor:query")
+ @RequestMapping("vendor.view/{pageNum}/{pageSize}")
+ public String vendorView(Vendor vendor,Model m,@PathVariable("pageNum") int pageNum,
+ @PathVariable("pageSize") int pageSize) {
+ PageHelper.startPage(pageNum, pageSize);
+ List list = vendorBiz.find(vendor);
+ PageInfo page = new PageInfo(list);
+ m.addAttribute("vendorList", list);
+ m.addAttribute("page", page);
+ return "/vm/vendor/vendor";
+ }
+
+ @RequiresPermissions("vendor:add")
+ @RequestMapping("vendor_add.view")
+ public String vendorAddView(Model m) {
+ m.addAttribute("vendor", new Vendor());
+ return "/vm/vendor/vendor_add";
+ }
+
+ @RequiresPermissions("vendor:update")
+ @RequestMapping("vendor_update.view")
+ public String vendorUpdateView(Long id,Model m) {
+ m.addAttribute("vendor",vendorBiz.findById(id));
+ return "/vm/vendor/vendor_update";
+ }
+
+ @RequiresPermissions("vendor:add")
+ @RequestMapping("add")
+ public String add(Vendor vendor) {
+ vendorBiz.add(vendor);
+ return "redirect:/vendor.do/vendor.view";
+ }
+
+ @RequiresPermissions("vendor:update")
+ @RequestMapping("update")
+ public String update(Vendor vendor) {
+ vendorBiz.update(vendor);
+ return "redirect:/vendor.do/vendor.view";
+ }
+
+ @RequiresPermissions("vendor:delete")
+ @RequestMapping("delete")
+ public String delete(Long id) {
+ vendorBiz.delete(id);
+ return "redirect:/vendor.do/vendor.view";
+ }
+}
diff --git a/src/main/java/com/vm/dao/AgentDao.java b/src/main/java/com/vm/dao/AgentDao.java
new file mode 100644
index 0000000..819f364
--- /dev/null
+++ b/src/main/java/com/vm/dao/AgentDao.java
@@ -0,0 +1,19 @@
+package com.vm.dao;
+
+import java.util.List;
+
+import com.entity.Agent;
+
+public interface AgentDao {
+ public List find(Agent agent);
+
+ public Agent findById(Long id);
+
+ public void add(Agent Agent);
+
+ public void update(Agent agent);
+
+ public void delete(Long id);
+
+ public Agent findByOpenId(String id);
+}
diff --git a/src/main/java/com/vm/dao/AreaDao.java b/src/main/java/com/vm/dao/AreaDao.java
new file mode 100644
index 0000000..1da5720
--- /dev/null
+++ b/src/main/java/com/vm/dao/AreaDao.java
@@ -0,0 +1,17 @@
+package com.vm.dao;
+
+import java.util.List;
+
+import com.entity.Area;
+
+public interface AreaDao {
+ public List find(Area area);
+
+ public Area findById(Long id);
+
+ public void add(Area area);
+
+ public void update(Area area);
+
+ public void delete(Long id);
+}
diff --git a/src/main/java/com/vm/dao/FileUploadDao.java b/src/main/java/com/vm/dao/FileUploadDao.java
new file mode 100644
index 0000000..1298653
--- /dev/null
+++ b/src/main/java/com/vm/dao/FileUploadDao.java
@@ -0,0 +1,13 @@
+package com.vm.dao;
+
+import java.util.List;
+
+import com.entity.FileInfo;
+
+public interface FileUploadDao {
+ public void add(FileInfo fileInfo);
+ public void delete(Long id);
+ public FileInfo findById(Long id);
+ public List findAll();
+ public List findByIds(List list);
+}
diff --git a/src/main/java/com/vm/dao/OrderDao.java b/src/main/java/com/vm/dao/OrderDao.java
new file mode 100644
index 0000000..8c43bf7
--- /dev/null
+++ b/src/main/java/com/vm/dao/OrderDao.java
@@ -0,0 +1,18 @@
+package com.vm.dao;
+
+import java.util.List;
+
+import com.entity.Order;
+
+public interface OrderDao {
+ public List find(Order order);
+
+ public Order findById(Long id);
+
+ public void add(Order order);
+
+ public void update(Order order);
+
+ public void delete(Long id);
+
+}
diff --git a/src/main/java/com/vm/dao/ProcurementDao.java b/src/main/java/com/vm/dao/ProcurementDao.java
new file mode 100644
index 0000000..fde75df
--- /dev/null
+++ b/src/main/java/com/vm/dao/ProcurementDao.java
@@ -0,0 +1,18 @@
+package com.vm.dao;
+
+import java.util.List;
+
+import com.entity.Procurement;
+
+public interface ProcurementDao {
+ public List find(Procurement procurement);
+
+ public Procurement findById(Long id);
+
+ public void add(Procurement procurement);
+
+ public void update(Procurement procurement);
+
+ public void delete(Long id);
+
+}
diff --git a/src/main/java/com/vm/dao/VendorDao.java b/src/main/java/com/vm/dao/VendorDao.java
new file mode 100644
index 0000000..a62b78c
--- /dev/null
+++ b/src/main/java/com/vm/dao/VendorDao.java
@@ -0,0 +1,17 @@
+package com.vm.dao;
+
+import java.util.List;
+
+import com.entity.Vendor;
+
+public interface VendorDao {
+ public List find(Vendor vendor);
+
+ public Vendor findById(Long id);
+
+ public void add(Vendor vendor);
+
+ public void update(Vendor vendor);
+
+ public void delete(Long id);
+}
diff --git a/src/main/java/com/vm/service/AgentBiz.java b/src/main/java/com/vm/service/AgentBiz.java
new file mode 100644
index 0000000..a4a065e
--- /dev/null
+++ b/src/main/java/com/vm/service/AgentBiz.java
@@ -0,0 +1,19 @@
+package com.vm.service;
+
+import java.util.List;
+
+import com.entity.Agent;
+
+public interface AgentBiz {
+ public List find(Agent agent);
+
+ public void add(Agent agent);
+
+ public void update(Agent agent);
+
+ public void delete(Long id);
+
+ public Agent findById(Long id);
+
+ public Agent findByOpenId(String id);
+}
diff --git a/src/main/java/com/vm/service/AreaBiz.java b/src/main/java/com/vm/service/AreaBiz.java
new file mode 100644
index 0000000..276bf4b
--- /dev/null
+++ b/src/main/java/com/vm/service/AreaBiz.java
@@ -0,0 +1,17 @@
+package com.vm.service;
+
+import java.util.List;
+
+import com.entity.Area;
+
+public interface AreaBiz {
+ public List find(Area area);
+
+ public void add(Area area);
+
+ public void update(Area area);
+
+ public void delete(Long id);
+
+ public Area findById(Long id);
+}
diff --git a/src/main/java/com/vm/service/CarBiz.java b/src/main/java/com/vm/service/CarBiz.java
index 28a0905..484cd83 100644
--- a/src/main/java/com/vm/service/CarBiz.java
+++ b/src/main/java/com/vm/service/CarBiz.java
@@ -3,6 +3,7 @@
import java.util.List;
import com.entity.Car;
+import com.entity.enumeration.AgentLevel;
public interface CarBiz {
public List find(Car car);
@@ -15,5 +16,5 @@ public interface CarBiz {
public Car findById(Long id);
-
+ public List findByLevel(AgentLevel level);
}
diff --git a/src/main/java/com/vm/service/FileUploadBiz.java b/src/main/java/com/vm/service/FileUploadBiz.java
new file mode 100644
index 0000000..f370061
--- /dev/null
+++ b/src/main/java/com/vm/service/FileUploadBiz.java
@@ -0,0 +1,57 @@
+package com.vm.service;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.entity.FileInfo;
+
+public interface FileUploadBiz {
+
+ /**
+ * 上传文件
+ *
+ * @param request
+ * @param type
+ * @return
+ */
+ public abstract Map fileUploadFile(HttpServletRequest request);
+
+ /**
+ * 上传图片
+ *
+ * @param request
+ * @param category
+ * @return
+ */
+ public abstract Map fileUploadImage(HttpServletRequest request);
+
+ /**
+ * 文件上传
+ *
+ * @param tenantCode
+ * @param userAccount
+ * @param request
+ * @param type
+ * @return
+ */
+ public abstract Map fileUpload(HttpServletRequest request, String allowTypes);
+
+ /**
+ * 上传文件
+ *
+ * @param request
+ * @param category
+ * @param type
+ * @return
+ */
+ public abstract Map uploadMultiple(HttpServletRequest request);
+
+ public abstract void delete(Long id);
+
+ public abstract FileInfo query(Long id);
+
+ public abstract List query(String ids);
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/vm/service/OrderBiz.java b/src/main/java/com/vm/service/OrderBiz.java
new file mode 100644
index 0000000..19e6226
--- /dev/null
+++ b/src/main/java/com/vm/service/OrderBiz.java
@@ -0,0 +1,19 @@
+package com.vm.service;
+
+import java.util.List;
+
+import com.entity.Order;
+
+public interface OrderBiz {
+ public List find(Order order);
+
+ public void add(Order order);
+
+ public void update(Order order);
+
+ public void delete(Long id);
+
+ public Order findById(Long id);
+
+
+}
diff --git a/src/main/java/com/vm/service/ProcurementBiz.java b/src/main/java/com/vm/service/ProcurementBiz.java
new file mode 100644
index 0000000..3dd502a
--- /dev/null
+++ b/src/main/java/com/vm/service/ProcurementBiz.java
@@ -0,0 +1,20 @@
+package com.vm.service;
+
+import java.util.List;
+
+import com.entity.Car;
+import com.entity.Procurement;
+
+public interface ProcurementBiz {
+ public List find(Procurement procurement);
+
+ public void add(Procurement procurement);
+
+ public void update(Procurement procurement);
+
+ public void delete(Long id);
+
+ public Procurement findById(Long id);
+
+
+}
diff --git a/src/main/java/com/vm/service/VendorBiz.java b/src/main/java/com/vm/service/VendorBiz.java
new file mode 100644
index 0000000..8d8cba6
--- /dev/null
+++ b/src/main/java/com/vm/service/VendorBiz.java
@@ -0,0 +1,17 @@
+package com.vm.service;
+
+import java.util.List;
+
+import com.entity.Vendor;
+
+public interface VendorBiz {
+ public List find(Vendor vendor);
+
+ public void add(Vendor vendor);
+
+ public void update(Vendor vendor);
+
+ public void delete(Long id);
+
+ public Vendor findById(Long vendor);
+}
diff --git a/src/main/java/com/vm/service/impl/AgentBizImpl.java b/src/main/java/com/vm/service/impl/AgentBizImpl.java
new file mode 100644
index 0000000..2eeeb68
--- /dev/null
+++ b/src/main/java/com/vm/service/impl/AgentBizImpl.java
@@ -0,0 +1,59 @@
+package com.vm.service.impl;
+
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.entity.Agent;
+import com.entity.User;
+import com.system.dao.UserDao;
+import com.vm.dao.AgentDao;
+import com.vm.service.AgentBiz;
+
+@Service
+public class AgentBizImpl implements AgentBiz {
+ @Autowired
+ private AgentDao AgentDao;
+ @Autowired
+ private UserDao userDao;
+
+ public List find(Agent agent) {
+ List list = AgentDao.find(agent);
+ for(Agent entry : list) {
+ if(StringUtils.isEmpty(entry.getUserIdsStr())) continue;
+ StringBuffer buff = new StringBuffer();
+ for(String uid : entry.getUserIds()) {
+ User user = userDao.findById(uid);
+ buff.append(user.getUsername()).append(',');
+ }
+ if(buff.length()!=0) buff.deleteCharAt(buff.length()-1);
+ entry.setUsernames(buff.toString());
+ }
+ return list;
+ }
+
+ @Override
+ public Agent findById(Long id) {
+ return AgentDao.findById(id);
+ }
+
+ @Override
+ public Agent findByOpenId(String id) {
+ return AgentDao.findByOpenId(id);
+ }
+
+ public void add(Agent agent) {
+ AgentDao.add(agent);
+ }
+
+ public void update(Agent agent) {
+ AgentDao.update(agent);
+ }
+
+ public void delete(Long AgentId) {
+ AgentDao.delete(AgentId);
+ }
+
+}
diff --git a/src/main/java/com/vm/service/impl/AreaBizImpl.java b/src/main/java/com/vm/service/impl/AreaBizImpl.java
new file mode 100644
index 0000000..5bded8e
--- /dev/null
+++ b/src/main/java/com/vm/service/impl/AreaBizImpl.java
@@ -0,0 +1,38 @@
+package com.vm.service.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.entity.Area;
+import com.vm.dao.AreaDao;
+import com.vm.service.AreaBiz;
+
+@Service
+public class AreaBizImpl implements AreaBiz {
+ @Resource
+ private AreaDao areaDao;
+
+ public List find(Area area) {
+ return areaDao.find(area);
+ }
+
+ @Override
+ public Area findById(Long id) {
+ return areaDao.findById(id);
+ }
+
+ public void add(Area area) {
+ areaDao.add(area);
+ }
+
+ public void update(Area area) {
+ areaDao.update(area);
+ }
+
+ public void delete(Long areaId) {
+ areaDao.delete(areaId);
+ }
+}
diff --git a/src/main/java/com/vm/service/impl/CarBizImpl.java b/src/main/java/com/vm/service/impl/CarBizImpl.java
index 94ad2ee..b0abb5f 100644
--- a/src/main/java/com/vm/service/impl/CarBizImpl.java
+++ b/src/main/java/com/vm/service/impl/CarBizImpl.java
@@ -7,6 +7,7 @@
import org.springframework.stereotype.Service;
import com.entity.Car;
+import com.entity.enumeration.AgentLevel;
import com.vm.dao.CarDao;
import com.vm.service.CarBiz;
@@ -20,6 +21,12 @@ public List find(Car car) {
}
@Override
+ public List findByLevel(AgentLevel level) {
+ //TODO 根据客户等级查询车辆
+ return carDao.find(new Car());
+ }
+
+ @Override
public Car findById(Long id) {
return carDao.findById(id);
}
diff --git a/src/main/java/com/vm/service/impl/FileUploadBizImpl.java b/src/main/java/com/vm/service/impl/FileUploadBizImpl.java
new file mode 100644
index 0000000..4e2dd3d
--- /dev/null
+++ b/src/main/java/com/vm/service/impl/FileUploadBizImpl.java
@@ -0,0 +1,270 @@
+package com.vm.service.impl;
+
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import com.enterprisedt.net.ftp.FTPException;
+import com.entity.FileInfo;
+import com.google.common.collect.Lists;
+import com.util.FtpClient;
+import com.util.ResultMapUtil;
+import com.vm.dao.FileUploadDao;
+import com.vm.service.FileUploadBiz;
+
+/**
+ * 多文件上传
+ *
+ */
+@Service
+public class FileUploadBizImpl implements FileUploadBiz {
+
+ private String ip;
+ private String readurl;
+ private String rootDir;
+ private String username;
+ private String password;
+ private static String allowFileTypes;
+ private static String allowImageTypes;
+ private static final String CONFIG_FILE_NAME = "upload.properties";
+ private Log logger = LogFactory.getLog(this.getClass());
+
+ @Autowired
+ private FileUploadDao fileUploadDao;
+
+ @PostConstruct
+ private void init() {
+ Properties properties = new Properties();
+ try {
+ properties.load(FileUploadBizImpl.class.getClassLoader()
+ .getResourceAsStream(CONFIG_FILE_NAME));
+ allowFileTypes = properties.getProperty("allowFileTypes");
+ allowFileTypes += allowFileTypes.toLowerCase();
+ allowImageTypes = properties.getProperty("allowImageTypes");
+ allowImageTypes += allowImageTypes.toLowerCase();
+ this.ip = properties.getProperty("ftp.ip");
+ this.username = properties.getProperty("ftp.username");
+ this.password = properties.getProperty("ftp.password");
+ this.readurl = properties.getProperty("ftp.readurl");
+ this.rootDir = properties.getProperty("ftp.root");
+ } catch (Exception e) {
+ logger.error("加载配置文件出错!" + e.getMessage());
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see com.vm.service.impl.FileUploadBiz#fileUploadFile(javax.servlet.http.HttpServletRequest, com.entity.enumeration.FtpUploadType, java.lang.String)
+ */
+ @Override
+ public Map fileUploadFile(HttpServletRequest request) {
+ return this.fileUpload(request, allowFileTypes);
+ }
+
+ /* (non-Javadoc)
+ * @see com.vm.service.impl.FileUploadBiz#fileUploadImage(javax.servlet.http.HttpServletRequest, com.entity.enumeration.FtpUploadType, java.lang.String)
+ */
+ @Override
+ public Map fileUploadImage(HttpServletRequest request) {
+ return this.fileUpload(request, allowImageTypes);
+ }
+
+ /* (non-Javadoc)
+ * @see com.vm.service.impl.FileUploadBiz#fileUpload(javax.servlet.http.HttpServletRequest, com.entity.enumeration.FtpUploadType, java.lang.String, java.lang.String)
+ */
+ @Override
+ public Map fileUpload(HttpServletRequest request, String allowTypes) {
+ Map msg = null;
+ try {
+ // 上传文件的解析器
+ CommonsMultipartResolver mutiparRe = new CommonsMultipartResolver();
+ if (mutiparRe.isMultipart(request)) {
+ MultipartHttpServletRequest mhr = (MultipartHttpServletRequest) request;
+
+ Iterator it = mhr.getFileNames();
+ if (it.hasNext()) {
+ MultipartFile mf = mhr.getFile(it.next());
+ if (mf != null) {
+ String resFileName = mf.getOriginalFilename();
+ String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
+ String dateDir = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+ String fileName = rename(resFileName);
+ String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
+ String filePath = this.rootDir + "/" +dateDir;
+
+ if (StringUtils.isEmpty(allowTypes)
+ || allowTypes.indexOf(fileType) > -1) {
+ FtpClient client = null;
+ try {
+ // 上传ftp
+ client = getFtpCilent(filePath);
+ fileName = URLEncoder.encode(fileName, "utf-8");
+ client.uploadFile(mf.getInputStream(), fileName);
+ FileInfo file = new FileInfo();
+ file.setFileName(fileName);
+ file.setFilePath(this.readurl + filePath + "/" + fileName);
+ file.setFileType(fileType);
+ file.setUploadTime(date);
+ file.setOriginalFilename(resFileName);
+
+ fileUploadDao.add(file);
+
+ msg = ResultMapUtil.getSuccessMap(file);
+ } catch (Exception e) {
+ msg = ResultMapUtil.getFailMap("上传失败:" + e.getMessage());
+ logger.error("上传失败:" + e.getMessage());
+ } finally {
+ if (client != null)
+ client.close();
+ }
+ } else {
+ msg = ResultMapUtil.getFailMap("上传失败:非法的文件类型,目前只支持" + allowTypes + "类型");
+ }
+ } else {
+ msg = ResultMapUtil.getFailMap("上传失败:无效文件");
+ }
+ } else {
+ msg = ResultMapUtil.getFailMap("上传失败:无效文件");
+ }
+ } else {
+ msg = ResultMapUtil.getFailMap("上传失败:请求类型错误");
+ }
+ } catch (Exception e) {
+ msg = ResultMapUtil.getFailMap("上传失败:" + e.getMessage());
+ logger.error("上传失败:", e);
+ }
+ return msg;
+ }
+
+ @Override
+ public Map uploadMultiple(HttpServletRequest request) {
+ Map msg = null;
+ FtpClient client = null;
+ try {
+ // 上传文件的解析器
+ CommonsMultipartResolver mutiparRe = new CommonsMultipartResolver();
+ if (mutiparRe.isMultipart(request)) {
+ MultipartHttpServletRequest mhr = (MultipartHttpServletRequest) request;
+
+ Iterator it = mhr.getFileNames();
+ List fileInfo = new ArrayList();
+ if(it.hasNext()){
+ client = getFtpCilent("");
+ while (it.hasNext()) {
+ FileInfo file = new FileInfo();
+ try {
+ MultipartFile mf = mhr.getFile(it.next());
+ if (mf != null) {
+ file.setUuid(mf.getName());
+ String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
+ String dateDir = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+ String resFileName = mf.getOriginalFilename();
+ String fileName = rename(resFileName);
+ String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
+ String filePath = this.rootDir + "/" +dateDir;
+ client.changeDir(filePath);
+
+ fileName = URLEncoder.encode(fileName, "utf-8");
+ if(StringUtils.isNotEmpty(fileName)){
+ //解决中文无法访问的问题
+ fileName = fileName.replace("%","-");
+ }
+
+ client.uploadFile(mf.getInputStream(), fileName);
+ file.setFileName(fileName);
+ file.setFilePath(this.readurl + filePath + "/" + fileName);
+ file.setFileType(fileType);
+ file.setUploadTime(date);
+ file.setOriginalFilename(resFileName);
+
+ fileUploadDao.add(file);
+
+ fileInfo.add(file);
+ } else {
+ msg = ResultMapUtil.getFailMap("上传失败:无效文件");
+ }
+ } catch (Exception e) {
+ msg = ResultMapUtil.getFailMap("上传失败:无效文件");
+ logger.error("上传失败:" + e.getMessage());
+ }
+ }
+ msg = ResultMapUtil.getSuccessMap(fileInfo);
+ }else {
+ msg = ResultMapUtil.getFailMap("上传失败:无效文件");
+ }
+ }else {
+ msg = ResultMapUtil.getFailMap("上传失败:请求类型错误");
+ }
+ } catch (Exception e) {
+ msg = ResultMapUtil.getFailMap("上传失败:" + e.getMessage());
+ logger.error("上传失败:", e);
+ }finally {
+ if (client != null)
+ client.close();
+ }
+ return msg;
+ }
+
+ @Override
+ public void delete(Long id) {
+ fileUploadDao.delete(id);
+ }
+
+ @Override
+ public FileInfo query(Long id) {
+ return fileUploadDao.findById(id);
+ }
+
+ @Override
+ public List query(String ids) {
+ if(StringUtils.isEmpty(ids)) {
+ return Lists.newArrayList();
+ }
+ List list = Lists.newArrayList();
+ for(String id : ids.split(",")) {
+ list.add(Long.parseLong(id));
+ }
+ return fileUploadDao.findByIds(list);
+ }
+
+ public FtpClient getFtpCilent(String filePath) throws IOException, FTPException {
+ FtpClient client = new FtpClient();
+ client.connectServer(this.ip, this.username, this.password);
+ client.changeDir(filePath);
+ return client;
+ }
+
+ public String rename(String name) {
+ String uustr = UUID.randomUUID().toString();
+ if (name.indexOf(".") != -1) {
+ uustr += name.substring(name.lastIndexOf("."));
+ }
+ return uustr;
+ }
+
+ public static String getAllowFileTypes() {
+ return allowFileTypes;
+ }
+
+ public static String getAllowImageTypes() {
+ return allowImageTypes;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/vm/service/impl/OrderBizImpl.java b/src/main/java/com/vm/service/impl/OrderBizImpl.java
new file mode 100644
index 0000000..b50673e
--- /dev/null
+++ b/src/main/java/com/vm/service/impl/OrderBizImpl.java
@@ -0,0 +1,37 @@
+package com.vm.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.entity.Order;
+import com.vm.dao.OrderDao;
+import com.vm.service.OrderBiz;
+
+@Service
+public class OrderBizImpl implements OrderBiz {
+ @Autowired
+ private OrderDao orderDao;
+
+ public List find(Order order) {
+ return orderDao.find(order);
+ }
+
+ public Order findById(Long id) {
+ return orderDao.findById(id);
+ }
+
+ public void add(Order order) {
+ orderDao.add(order);
+ }
+
+ public void update(Order order) {
+ orderDao.update(order);
+ }
+
+ public void delete(Long orderId) {
+ orderDao.delete(orderId);
+ }
+
+}
diff --git a/src/main/java/com/vm/service/impl/ProcurementBizImpl.java b/src/main/java/com/vm/service/impl/ProcurementBizImpl.java
new file mode 100644
index 0000000..39cc154
--- /dev/null
+++ b/src/main/java/com/vm/service/impl/ProcurementBizImpl.java
@@ -0,0 +1,39 @@
+package com.vm.service.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.entity.Procurement;
+import com.vm.dao.ProcurementDao;
+import com.vm.service.ProcurementBiz;
+
+@Service
+public class ProcurementBizImpl implements ProcurementBiz {
+ @Resource
+ private ProcurementDao procDao;
+
+ public List find(Procurement procurement) {
+ return procDao.find(procurement);
+ }
+
+ @Override
+ public Procurement findById(Long id) {
+ return procDao.findById(id);
+ }
+
+ public void add(Procurement procurement) {
+ procDao.add(procurement);
+ }
+
+ public void update(Procurement procurement) {
+ procDao.update(procurement);
+ }
+
+ public void delete(Long carId) {
+ procDao.delete(carId);
+ }
+
+}
diff --git a/src/main/java/com/vm/service/impl/StandardBizImpl.java b/src/main/java/com/vm/service/impl/StandardBizImpl.java
index 0cc5214..35fb640 100644
--- a/src/main/java/com/vm/service/impl/StandardBizImpl.java
+++ b/src/main/java/com/vm/service/impl/StandardBizImpl.java
@@ -10,10 +10,6 @@
import com.vm.dao.StandardDao;
import com.vm.service.StandardBiz;
-/**
- * Created by c0de8ug on 16-2-11.
- */
-
@Service
public class StandardBizImpl implements StandardBiz {
@Resource
diff --git a/src/main/java/com/vm/service/impl/VendorBizImpl.java b/src/main/java/com/vm/service/impl/VendorBizImpl.java
new file mode 100644
index 0000000..6c76d35
--- /dev/null
+++ b/src/main/java/com/vm/service/impl/VendorBizImpl.java
@@ -0,0 +1,38 @@
+package com.vm.service.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.entity.Vendor;
+import com.vm.dao.VendorDao;
+import com.vm.service.VendorBiz;
+
+@Service
+public class VendorBizImpl implements VendorBiz {
+ @Resource
+ private VendorDao vendorDao;
+
+ public List find(Vendor vendor) {
+ return vendorDao.find(vendor);
+ }
+
+ @Override
+ public Vendor findById(Long id) {
+ return vendorDao.findById(id);
+ }
+
+ public void add(Vendor vendor) {
+ vendorDao.add(vendor);
+ }
+
+ public void update(Vendor vendor) {
+ vendorDao.update(vendor);
+ }
+
+ public void delete(Long vendorId) {
+ vendorDao.delete(vendorId);
+ }
+}
diff --git a/src/main/resources/breadcrumb-e-c.properties b/src/main/resources/breadcrumb-e-c.properties
index 4c325c2..dd3439a 100644
--- a/src/main/resources/breadcrumb-e-c.properties
+++ b/src/main/resources/breadcrumb-e-c.properties
@@ -4,6 +4,10 @@ update=\u4FEE\u6539
delete=\u5220\u9664
login=\u9996\u9875
role=\u89D2\u8272
-resource=\u8D44\u6E90
+resource=\u6743\u9650
user=\u7528\u6237
standard=\u89C4\u683C
+agent=\u4EE3\u7406\u5546
+procurement=\u91C7\u8D2D
+vendor=\u5382\u5546
+area=\u533A\u57DF
diff --git a/src/main/resources/db.properties b/src/main/resources/db.properties
index 8bec0a8..38d320a 100644
--- a/src/main/resources/db.properties
+++ b/src/main/resources/db.properties
@@ -1,4 +1,8 @@
jdbc.driver=com.mysql.jdbc.Driver
-jdbc.url=jdbc:mysql://localhost:3306/vehicle
+#jdbc.url=jdbc:mysql://rm-uf6ggkftngujcn480o.mysql.rds.aliyuncs.com:3306/car_sale_sh
+#jdbc.password=root_123
+#jdbc.username=root
+
+jdbc.url=jdbc:mysql://localhost:3306/vehicle?characterEncoding=utf8&useSSL=false
jdbc.password=root
-jdbc.username=root
+jdbc.username=root
\ No newline at end of file
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
index 370bc49..9a5d202 100644
--- a/src/main/resources/log4j.properties
+++ b/src/main/resources/log4j.properties
@@ -1,4 +1,4 @@
-log4j.rootLogger = info , stdout
+log4j.rootLogger = debug , stdout ,consoleAppender
### output to the console ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
@@ -6,6 +6,7 @@ log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
+log4j.appender.consoleAppender.layout.ConversionPattern=ProcessDefinitionId=%X{mdcProcessDefinitionID} executionId=%X{mdcExecutionId} mdcProcessInstanceID=%X{mdcProcessInstanceID} mdcBusinessKey=%X{mdcBusinessKey} %m%n
#mybatis
log4j.logger.org.apache.ibatis=info
diff --git a/src/main/resources/mapper/AgentDao.xml b/src/main/resources/mapper/AgentDao.xml
new file mode 100644
index 0000000..4bc35e9
--- /dev/null
+++ b/src/main/resources/mapper/AgentDao.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE agent
+
+
+ openid=#{openid},
+
+
+ level=#{level},
+
+
+ agent_name=#{agentName},
+
+
+ area=#{area},
+
+
+ user_ids=#{userIdsStr},
+
+
+ WHERE id = #{id}
+
+
+
+ INSERT INTO agent(openid,level,agent_name,user_ids,area) VALUES(#{openid},#{level},#{agentName},#{userIdsStr},#{area})
+
+
+
+ DELETE FROM agent WHERE id = #{id}
+
+
\ No newline at end of file
diff --git a/src/main/resources/mapper/AreaDao.xml b/src/main/resources/mapper/AreaDao.xml
new file mode 100644
index 0000000..5d1ab34
--- /dev/null
+++ b/src/main/resources/mapper/AreaDao.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE area
+
+
+ area = #{area},
+
+
+ WHERE id = #{id}
+
+
+
+ INSERT INTO area(area) VALUES(#{area})
+
+
+
+ DELETE FROM area WHERE id = #{id}
+
+
\ No newline at end of file
diff --git a/src/main/resources/mapper/CarDao.xml b/src/main/resources/mapper/CarDao.xml
index 30dc268..b7cec2a 100644
--- a/src/main/resources/mapper/CarDao.xml
+++ b/src/main/resources/mapper/CarDao.xml
@@ -19,14 +19,27 @@