Get the source code at the end
Development language: Java
Java development tools: JDK1.8
Backend framework: SSM
Front-end: developed using JSP technology
Database: MySQL5.7 combined with Navicat management tool
Server: Tomcat8.5
Development software: IDEA/Eclipse
Is it a Maven project: Yes
Table of Contents
1. Project Introduction
2. System functions
3. System project screenshots
Administrator function introduction
Employee management
Customer management
News management
House type management
Front page function module
4. Core code
Login related
File Upload
encapsulation
1. Project Introduction
The fast-paced development of the modern economy and the constantly improving and upgrading of information technology have upgraded traditional data information management to software storage, summary, and centralized processing of data information management methods. This building sales system was born in such an environment. It can help managers process huge amounts of data information in a short time. Using this software tool can help managers improve transaction processing efficiency and achieve twice the result with half the effort. This building sales system uses the current mature and complete SSM framework, the cross-platform Java language that can develop large-scale commercial websites, and the Mysql database, one of the most popular RDBMS application software, for program development. It has realized basic house data management, employee management, customer management, house management, house collection management, order management, news management, single-page data management, basic data management and other functions. The development of the building sales system is based on the operator’s needs. The interface is simple and beautiful, and the functional module layout is consistent with similar websites. While the program realizes the basic required functions, it also provides some practical solutions to the security issues faced by data information. . It can be said that this program not only helps managers handle work affairs efficiently, but also realizes the integration, standardization and automation of data information.
2. System functions
When the user’s functional requirements for the program are analyzed and obtained, program design can be carried out. The figure shows the administrator function structure diagram. The administrator is mainly responsible for filling in the house and its category information, and maintaining the filled data, including modification and deletion. The administrator also needs to manage employees, manage customers, manage orders, and manage news. , manage single page data, manage basic data, etc.
3. Screenshots of system projects
Introduction to administrator functions
Employee Management
The functions provided to administrators on this page include: adding employees, modifying employee information, and deleting employees.
Customer Management
The functions provided to administrators on this page include: adding customers, modifying customers, and deleting customers.
News Management
The functions provided to administrators on this page include: adding news, modifying news, and deleting news.
House type management
The functions provided to administrators on this page include: adding new house types, deleting house types, and modifying house types.
Front-end home page function module
Building sales system, in Building Sales Bear you can view building information, mine, jump to the backend, etc.
Log in, register, fill in the user account through registration, User name, password, contact number, email address and other information to register
For product information, you can check the house name, house type, house address, house features, house square meters and other information on the house information page for immediate purchase.
Personal center, you can view users on the personal center page Account number, user name, password, gender, contact number, etc.
4. Core code
Login related
package com.controller; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; 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.bind.annotation.RestController; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils; /** * Login related */ @RequestMapping("users") @RestController public class UserController{ \t @Autowired private UserService userService; \t @Autowired private TokenService tokenService; /** \t * Log in */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("Account or password is incorrect"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); } \t /** \t * register */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("User already exists"); } userService.insert(user); return R.ok(); } /** \t * quit */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("Exit successfully"); } \t /** * reset Password */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null) { return R.error("Account does not exist"); } user.setPassword("123456"); userService.update(user,null); return R.ok("Password has been reset to: 123456"); } \t /** * list */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } /** * list */ @RequestMapping("/list") public R list(UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew)); } /** * information */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * Get the user's session user information */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * save */ @PostMapping("/save") public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("User already exists"); } userService.insert(user); return R.ok(); } /** * Revise */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); userService.updateById(user);//Update all return R.ok(); } /** * delete */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } }
File upload
package com.controller; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.ConfigEntity; import com.entity.EIException; import com.service.ConfigService; import com.utils.R; /** * Upload file mapping table */ @RestController @RequestMapping("file") @SuppressWarnings({"unchecked","rawtypes"}) public class FileController{ @Autowired private ConfigService configService; /** \t * upload files */ @RequestMapping("/upload") public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception { if (file.isEmpty()) { throw new EIException("The uploaded file cannot be empty"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1); File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } String fileName = new Date().getTime() + "." + fileExt; File dest = new File(upload.getAbsolutePath() + "/" + fileName); file.transferTo(dest); FileUtils.copyFile(dest, new File("C:\Users\Desktop\jiadian\springbootl7own\src\main\resources\static\upload" + "/" + fileName)); if(StringUtils.isNotBlank(type) & amp; & amp; type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); } \t /** \t * download file */ @IgnoreAuth @RequestMapping("/download") public ResponseEntity<byte[]> download(@RequestParam String fileName) { try { File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } File file = new File(upload.getAbsolutePath() + "/" + fileName); if(file.exists()){ /*if(!fileService.canRead(file, SessionManager.getSessionUser())){ getResponse().sendError(403); }*/ HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED); } } catch (IOException e) { e.printStackTrace(); } return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR); } \t }
Package
package com.utils; import java.util.HashMap; import java.util.Map; /** * Return data */ public class R extends HashMap<String, Object> { private static final long serialVersionUID = 1L; \t public R() { put("code", 0); } \t public static R error() { return error(500, "Unknown exception, please contact the administrator"); } \t public static R error(String msg) { return error(500, msg); } \t public static R error(int code, String msg) { R r = new R(); r.put("code", code); r.put("msg", msg); return r; } public static R ok(String msg) { R r = new R(); r.put("msg", msg); return r; } \t public static R ok(Map<String, Object> map) { R r = new R(); r.putAll(map); return r; } \t public static Rok() { return new R(); } public R put(String key, Object value) { super.put(key, value); return this; } }
The knowledge points of the article match the official knowledge files, and you can further learn related knowledge. Java Skill TreeHomepageOverview 139228 people are learning the system