Java tutorial
package com.rz.action.admin; import java.util.*; import javax.annotation.*; import org.apache.commons.codec.digest.*; import org.apache.struts2.convention.annotation.*; import org.hibernate.criterion.*; import com.opensymphony.xwork2.interceptor.annotations.*; import com.opensymphony.xwork2.validator.annotations.*; import com.rz.bean.*; import com.rz.entity.*; import com.rz.service.*; import com.rz.service.impl.*; import com.rz.util.*; @ParentPackage("admin") public class DriverAction extends BaseAdminAction { private Driver driver; @Resource private DriverService driverService; @Resource private OrderSubService orderSubService; @Resource private CompanyService companyService; @Resource private AdminService adminService; @Resource private RoleService roleService; @Resource private SupplierService supplierService; @Resource private DriverScheduleService driverScheduleService; private OrderSubCondition orderSubCondition; private Integer driverId; private String driverSn; private Date scheduleDate; private Date startDate; private Date endDate; // public String add() { return INPUT; } @Validations(requiredStrings = { @RequiredStringValidator(fieldName = "driver.name", message = "????!"), }) @InputConfig(resultName = "error") public String save() { String passwordMd5 = DigestUtils.md5Hex(driver.getPassword()); Admin admin = new Admin(); admin.setName(driver.getName()); admin.setCompany(driver.getCompany()); admin.setUsername(driver.getLoginId()); admin.setLoginFailureCount(0); admin.setIsAccountLocked(false); admin.setIsAccountExpired(false); admin.setIsCredentialsExpired(false); admin.setIsAccountEnabled(true); admin.setType("driver"); Role role = roleService.get(102); Set<Role> roles = new HashSet<Role>(); roles.add(role); admin.setRoleSet(roles); passwordMd5 = DigestUtils.md5Hex(driver.getPassword()); admin.setPassword(passwordMd5); adminService.save(admin); driver.setPassword(passwordMd5); driver.setAdmin(admin); driverService.save(driver); redirectUrl = "driver!list.action"; return SUCCESS; } public String edit() { driver = driverService.load(id); if (driver != null) { if (driver.getLicenseDate() != null) { this.getRequest().setAttribute("drivingYears", DateUtil.getCurrentDateTime().getYear() - driver.getLicenseDate().getYear()); } else { this.getRequest().setAttribute("drivingYears", "0"); } } return INPUT; } @Validations(requiredStrings = { @RequiredStringValidator(fieldName = "driver.name", message = "????!") }) @InputConfig(resultName = "error") public String update() { Driver persistent = driverService.load(id); persistent.setName(driver.getName()); persistent.setMobile(driver.getMobile()); persistent.setWeixinId(driver.getWeixinId()); if (driver.getCompany() != null && driver.getCompany().getId() != null) { persistent.setCompany(driver.getCompany()); } persistent.setGrade(driver.getGrade()); persistent.setRating(driver.getRating()); persistent.setGender(driver.getGender()); String drivingYears = this.getRequest().getParameter("drivingYears"); if (drivingYears != null) { persistent.setLicenseDate(DateUtil.dateIncreaseByYear(new Date(), 0 - Integer.valueOf(drivingYears))); } // persistent.setCityId(driver.getCityId()); String passwordMd5 = DigestUtils.md5Hex(driver.getPassword()); persistent.setPassword(passwordMd5); driverService.update(persistent); Admin admin = persistent.getAdmin(); if (admin != null) { if (driver.getPassword() != null && driver.getPassword().length() > 0) { admin.setPassword(driver.getPassword()); } admin.setUsername(driver.getMobile()); adminService.update(admin); } redirectUrl = "driver!list.action"; return SUCCESS; } // public String list() { if (pager == null) { pager = new Pager(); } DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Driver.class); if (driverId != null) { detachedCriteria.add(Restrictions.eq("id", driverId)); } loginAdmin = this.getLoginAdmin(); if ("admin".equals(loginAdmin.getUsername())) { pager = driverService.findByPager(pager, detachedCriteria); } else { detachedCriteria.add(Restrictions.eq("company", loginAdmin.getCompany())); pager = driverService.findByPager(pager, detachedCriteria); } return LIST; } public String driverOrders() { if (orderSubCondition == null) { orderSubCondition = new OrderSubCondition(); } // orderSubCondition.setOrderSubStatuses(new String[] { Order.ORDER_STATUS_AUDIT_PASS }); pager = orderSubService.getOrderSubsByCondition(pager, this.getLoginAdmin(), orderSubCondition); return "driver_order_list"; } public String selectDriverList() { Admin admin = this.getLoginAdmin(); pager = driverService.getDrivers(pager, admin.getCompany().getId()); return "select_driver_list"; } public String delete() { try { driverService.delete(ids); } catch (Exception e) { return ajax(Status.error, "?!"); } return ajax(Status.success, "?!"); } public List<Company> getCompanys() { loginAdmin = this.getLoginAdmin(); if ("admin".equals(loginAdmin.getUsername())) { return companyService.getAll(); } else { List<Company> list = new ArrayList<Company>(); list.add(loginAdmin.getCompany()); return list; } } public String assignCheck() { Map<String, Object> jsonMap = new HashMap<String, Object>(); if (driverService.assignCheck(driverId, startDate, endDate)) { jsonMap.put("result", "0"); } else { jsonMap.put("result", "1"); } return ajax(jsonMap); } public List<Driver> getDrivers() { loginAdmin = this.getLoginAdmin(); if ("admin".equals(loginAdmin.getUsername())) { return driverService.getAll(); } else { return driverService.getCompanyDrivers(loginAdmin.getCompany().getId()); } } public List<Supplier> getSuppliers() { return supplierService.getAll(); } public Driver getDriver() { return driver; } public void setDriver(Driver driver) { this.driver = driver; } public DriverService getDriverService() { return driverService; } public void setDriverService(DriverService driverService) { this.driverService = driverService; } public CompanyService getCompanyService() { return companyService; } public void setCompanyService(CompanyService companyService) { this.companyService = companyService; } public String getDriverSn() { return driverSn; } public void setDriverSn(String driverSn) { this.driverSn = driverSn; } public Date getScheduleDate() { return scheduleDate; } public void setScheduleDate(Date scheduleDate) { this.scheduleDate = scheduleDate; } public Integer getDriverId() { return driverId; } public void setDriverId(Integer driverId) { this.driverId = driverId; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public OrderSubCondition getOrderSubCondition() { return orderSubCondition; } public void setOrderSubCondition(OrderSubCondition orderSubCondition) { this.orderSubCondition = orderSubCondition; } }