基于ssm的家政服务系统微信小程序源码和论文

论文(设计)的主要任务与具体要求(有实验环节的要提出主要技术指标要求)

  论文(设计)的主要任务与具体要求 

    根据目前人们日常生活对家具家电维修和清洁等服务的需要,设计家政服务小程序,实现其用户订单管理(发布订单,取消订单,修改订单),用户个人信息管理。实现讨论区用于用户交流、问题反馈寻找客服。实现管理员轮播图管理,管理员对用户管理。管理员对评论区的管理(防止各种违规评论)完成该小程序的编码与测试工作  

主要技术指标要求:

1. 开发工具与技术:Wxml+ Wxss +Aoi

2. 数据库:云数据库

3. Web服务器:Tomcat 9.0

4.平台:Windows 10  

进度安排(包括时间划分和各阶段主要工作内容)

序号 

 设计各项阶段任务

时间 

1

 调研、功能分析、准备资料学习

 2周

 2

 程序设计

 5周

 3

 系统调试

 1周

 4

 撰写论文

 3周

 5

 准备论文答辩

 1周

主要参考文献不少于5篇

 [1]段任. 基于互联网开放平台的微信公众号构建[J]. 中国管理信息化  2017

[2]李松佳,徐飞. 基于微信公众号的高校微课平台的设计[J]. 价值工程  2017

[3]姚修杰. 微信公众账号服务平台微服务的设计与研究[J]. 通讯世界,2017  

[4]陈薇. 掌上社保的微信公共服务平台构建[J]. 中国管理信息化,2017  

[5]胡昊. 基于微信公众号的企业运营推广平台的设计与实现[D].北京交通大学,2016

【590】基于ssm的家政服务系统微信小程序源码和论文开题报告任务书

package com.controller;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
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.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.model.Gginfo;
import com.model.Pinglun;
import com.model.Userinfo;
import com.model.Wxuser;
import com.model.Zhaopin;
import com.response.GonggaoListResponse;
import com.response.GonggaoResponse;
import com.response.LoginResponse;
import com.response.Response;
import com.response.UinfoResponse;
import com.response.WxuserListResponse;
import com.response.WxuserResponse;
import com.response.ZhaopinListResponse;
import com.response.ZhaopinResponse;
import com.service.GginfoService;
import com.service.PinglunService;
import com.service.UserinfoService;
import com.service.WxuserService;
import com.service.ZhaopinService;

@Controller
@RequestMapping(value = "/rest")
public class RestApiController {

	@Autowired
	private UserinfoService userinfoService;
	@Autowired
	private WxuserService wxuserService;
	@Autowired
	private ZhaopinService zhaopinService;
    @Autowired
    private PinglunService pinglunService;
	@Autowired
	private GginfoService gginfoService;
	/**
	 * 用户注册
	 * 
	 * @param user
	 * @return
	 */
	@RequestMapping(value = "/register", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
	@ResponseBody
	public Response register(HttpServletRequest req, Userinfo user) {
		Response sres = new Response();
		try {
			Userinfo uinfo = new Userinfo();
			
			uinfo.setTel(user.getTel());
			List<Userinfo> ulist = userinfoService.queryUserinfoList(uinfo,
					null);
			if (ulist == null || ulist.size() == 0) {
				uinfo.setScores(5d);
				userinfoService.insertUserinfo(user);
				sres.setCode(200);
			} else {
				sres.setCode(201); // 手机号已存在
			}
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}

	/**
	 * 用户登录
	 * 
	 * @param user
	 * @return
	 */
	@RequestMapping(value = "/ulogin")
	@ResponseBody
	public LoginResponse ulogin(HttpServletRequest req, Userinfo user) {
		LoginResponse sres = new LoginResponse();
		try {
			int uid = 0;
			List<Userinfo> ulist = userinfoService
					.queryUserinfoList(user, null);
			if (ulist != null && ulist.size() > 0) {
				uid = ulist.get(0).getId();
				sres.setCode(200);
				sres.setOpenid(uid + "");
				sres.setName(ulist.get(0).getName());
				sres.setTel(ulist.get(0).getTel());
				sres.setUtype(ulist.get(0).getUtype());
			} else {
				sres.setCode(201);
			}
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	

	/**
	 * 用户资料
	 * 
	 * @param user
	 * @return
	 */
	@RequestMapping(value = "/uinfo")
	@ResponseBody
	public UinfoResponse uinfo(HttpServletRequest req) {
		UinfoResponse sres = new UinfoResponse();
		int uid = Integer.parseInt(req.getParameter("uid"));
		try {
			Userinfo uinfo = userinfoService.queryUserinfoById(uid);
			sres.setUinfo(uinfo);
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}

	/**
	 * 修改个人资料
	 * 
	 * @param user
	 * @return
	 */
	@RequestMapping(value = "/updateuser")
	@ResponseBody
	public Response updateuser(HttpServletRequest req, Userinfo userinfo) {
		Response sres = new Response();
		try {
			userinfoService.updateUserinfo(userinfo);
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	/**
	 * 维修工信息列表
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/tlist")
	@ResponseBody
	public WxuserListResponse tlist(HttpServletRequest req) {
		WxuserListResponse sres = new WxuserListResponse();
		try {
			String keywords = req.getParameter("keywords");
			String orderType = req.getParameter("orderType");
			Wxuser teainfo = new Wxuser();
			teainfo.setState("通过");
			teainfo.setKeywords(keywords);
			List<Wxuser> dlist = wxuserService.queryWxuserList(teainfo, null,orderType);
			sres.setCode(200);
			sres.setDlist(dlist);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	/**
	 * 维修工信息详情
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/tinfo")
	@ResponseBody
	public WxuserResponse tinfo(HttpServletRequest req) {
		WxuserResponse sres = new WxuserResponse();
		try {
			 int id = Integer.parseInt(req.getParameter("id"));
			 Wxuser wxginfo = wxuserService.queryWxuserById(id);
			 Pinglun pinfo = new Pinglun();
			 pinfo.setUid(wxginfo.getUid()+"");
			 pinfo.setOtype(2);
			 List<Pinglun> plist = pinglunService.queryPinglunList(pinfo);
			 sres.setPlist(plist);
			 sres.setCode(200);
			 sres.setDinfo(wxginfo);
			 
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	/**
	 * 自己查看维修工信息详情
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/tinfoView")
	@ResponseBody
	public WxuserResponse tinfoView(HttpServletRequest req) {
		WxuserResponse sres = new WxuserResponse();
		try {
			Wxuser teainfo = null;
			int uid = Integer.parseInt(req.getParameter("uid")==null?"0":req.getParameter("uid"));
			Wxuser tinfo = new Wxuser();
			tinfo.setUid(uid);
			List<Wxuser> tlist = wxuserService.queryWxuserList(tinfo, null);
			if(tlist!=null && tlist.size()>0){
				teainfo = tlist.get(0);
			}
			
		
			sres.setCode(200);
			sres.setDinfo(teainfo);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	
	
	
	/**
	 * 修改维修工信息
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/updateTinfo")
	@ResponseBody
	public Response updateTinfo(HttpServletRequest req,Wxuser wxuser) {
		Response sres = new Response();
		try {
			if(wxuser.getId()!=null){
				wxuserService.updateWxuser(wxuser);
			}else{
				wxuser.setState("待审核");
				wxuserService.insertWxuser(wxuser);
			}
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	
	
	/**
	 * 报修单列表  任务大厅
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/zplist")
	@ResponseBody
	public ZhaopinListResponse zplist(HttpServletRequest req) {
		ZhaopinListResponse sres = new ZhaopinListResponse();
		try {
			Zhaopin zinfo = new Zhaopin();
			zinfo.setState("待接单");
			String keywords = req.getParameter("keywords");
			zinfo.setKeywords(keywords);
			List<Zhaopin> dlist = zhaopinService.queryZhaopinList(zinfo, null);
			sres.setCode(200);
			sres.setDlist(dlist);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	/**
	 * 报修单详情
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/zpinfo")
	@ResponseBody
	public ZhaopinResponse zpinfo(HttpServletRequest req) {
		ZhaopinResponse sres = new ZhaopinResponse();
		try {
			int id = Integer.parseInt(req.getParameter("id"));
			Zhaopin zinfo = zhaopinService.queryZhaopinById(id);
			if(zinfo.getWuid()!=null && zinfo.getWuid()!=0){
				Wxuser wxuser = new Wxuser();
				wxuser.setUid(zinfo.getWuid());
				List<Wxuser> wxlist = wxuserService.queryWxuserList(wxuser, null);
				if(wxlist!=null && wxlist.size()>0){
					zinfo.setWxuserVO(wxlist.get(0));
				}
			}
			sres.setCode(200);
			sres.setDinfo(zinfo);
		
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	/**
	 * 发布报修单
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/addZhaopin")
	@ResponseBody
	public Response addZhaopin(HttpServletRequest req,Zhaopin zhaopin) {
		Response sres = new Response();
		try {
			zhaopin.setState("待接单");
			zhaopin.setFbsj(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
		    zhaopinService.insertZhaopin(zhaopin);
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	/**
	 * 修改报修单
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/updateZhaopin")
	@ResponseBody
	public Response updateZhaopin(HttpServletRequest req,Zhaopin zhaopin) {
		Response sres = new Response();
		try {
			zhaopin.setFbsj(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
		    zhaopinService.updateZhaopin(zhaopin);
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	/**
	 * 删除报修单
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/delZhaopin")
	@ResponseBody
	public Response delZhaopin(HttpServletRequest req) {
		Response sres = new Response();
		try {
			int id = Integer.parseInt(req.getParameter("id"));
		    zhaopinService.deleteZhaopin(id);
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	/**
	 * 我发布的报修单
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/myzplist")
	@ResponseBody
	public ZhaopinListResponse myzplist(HttpServletRequest req) {
		ZhaopinListResponse sres = new ZhaopinListResponse();
		try {
			int uid = Integer.parseInt(req.getParameter("uid"));
		    Zhaopin zinfo = new Zhaopin();
		    zinfo.setUid(uid);
		    List<Zhaopin> dlist = zhaopinService.queryZhaopinList(zinfo, null);
			sres.setCode(200);
			sres.setDlist(dlist);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	/**
	 * 维修工接单
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/jiedan")
	@ResponseBody
	public Response jiedan(HttpServletRequest req) {
		Response sres = new Response();
		try {
			int id = Integer.parseInt(req.getParameter("id"));
			int uid = Integer.parseInt(req.getParameter("uid"));
			
			Wxuser wxuser = new Wxuser();
			wxuser.setUid(uid);
			List<Wxuser> wlist = wxuserService.queryWxuserList(wxuser, null);
			if(wlist!=null && wlist.size()>0){
				wxuser = wlist.get(0);
				if(wxuser.getState().equals("通过")){
					Zhaopin zinfo = zhaopinService.queryZhaopinById(id);
					zinfo.setWuid(uid);
					zinfo.setState("已接单");
					zhaopinService.updateZhaopin(zinfo);
					sres.setCode(200);
				}else{
					sres.setCode(202);
				}
			}else{
				sres.setCode(201);
			}
			
			
			
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	/**
	 * 我接的维修单  维修工
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/mjdlist")
	@ResponseBody
	public ZhaopinListResponse mjdlist(HttpServletRequest req) {
		ZhaopinListResponse sres = new ZhaopinListResponse();
		try {
			int uid = Integer.parseInt(req.getParameter("uid"));
		    Zhaopin zinfo = new Zhaopin();
		    zinfo.setWuid(uid);
		    List<Zhaopin> dlist = zhaopinService.queryZhaopinList(zinfo, null);
			sres.setCode(200);
			sres.setDlist(dlist);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	/**
	 * 用户确认完成
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/wancheng")
	@ResponseBody
	public Response wancheng(HttpServletRequest req) {
		Response sres = new Response();
		try {
			int id = Integer.parseInt(req.getParameter("id"));
			Zhaopin zinfo = zhaopinService.queryZhaopinById(id);
			zinfo.setState("已完成");
			zhaopinService.updateZhaopin(zinfo);
			sres.setCode(200);
		} catch (Exception e) {
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
	
	
	
	
//	/**
//	 * 预约详情 用户端
//	 * @param req
//	 * @return
//	 */
//	@RequestMapping(value = "/yinfoWxuser")
//	@ResponseBody
//	public YuyueResponse yinfoWxuser(HttpServletRequest req) {
//		YuyueResponse sres = new YuyueResponse();
//		try {
//			int id = Integer.parseInt(req.getParameter("id"));
//			int uid = Integer.parseInt(req.getParameter("uid"));
//		    Yuyue yinfo = new Yuyue();
//		    yinfo.setId(id);
//		    List<Yuyue> dlist = yuyueService.queryYuyueList(yinfo, null);
//		    
//		    Pinglun pinglun = new Pinglun();
//		    pinglun.setOid(id);
//		    pinglun.setPlrid(uid+"");
//		    List<Pinglun> plist = pinglunService.queryPinglunList(pinglun);
//		    if(plist!=null && plist.size()>0 ){
//		    	pinglun = plist.get(0); 
//		    	sres.setPinfo(pinglun);
//		    	sres.setSfpj("Y");
//		    }
//		    yinfo = dlist.get(0);
//			sres.setDinfo(yinfo);
//			sres.setCode(200);
//		
//		} catch (Exception e) {
//			sres.setCode(500);
//			e.printStackTrace();
//		}
//		return sres;
//	}
//	
//	/**
//	 * 预约详情 维修工端
//	 * @param req
//	 * @return
//	 */
//	@RequestMapping(value = "/yinfoJiajiao")
//	@ResponseBody
//	public YuyueResponse yinfoJiajiao(HttpServletRequest req) {
//		YuyueResponse sres = new YuyueResponse();
//		try {
//			int id = Integer.parseInt(req.getParameter("id"));
//			int uid = Integer.parseInt(req.getParameter("uid"));
//		    Yuyue yinfo = new Yuyue();
//		    yinfo.setId(id);
//		    List<Yuyue> dlist = yuyueService.queryYuyueList(yinfo, null);
//		    
//		    Pinglun pinglun = new Pinglun();
//		    pinglun.setOid(id);
//		    pinglun.setPlrid(uid+"");
//		    List<Pinglun> plist = pinglunService.queryPinglunList(pinglun);
//		    if(plist!=null && plist.size()>0 ){
//		    	pinglun = plist.get(0); 
//		    	sres.setPinfo(pinglun);
//		    	sres.setSfpj("Y");
//		    }
//		    yinfo = dlist.get(0);
//			sres.setDinfo(yinfo);
//			sres.setCode(200);
//		
//		} catch (Exception e) {
//			sres.setCode(500);
//			e.printStackTrace();
//		}
//		return sres;
//	}
	
	 
	
	 
	
	 /**
	 * 上传文件
	 * @param user
	 * @return
	 */
    @RequestMapping(value = "/uploadFile")
    @ResponseBody
	public String uploadFile(HttpServletRequest req,HttpServletResponse res,Userinfo user){	
        String url = "";
		try
		{
		 
			FileItemFactory factory = new DiskFileItemFactory();
			// 创建文件上传处理器
			ServletFileUpload upload = new ServletFileUpload(factory);
			// 开始解析请求信息
			List items = null;
			try {
				items = upload.parseRequest(req);
			} catch (FileUploadException e) {
				e.printStackTrace();
			}
			// 对所有请求信息进行判断
			Iterator iter = items.iterator();
			while (iter.hasNext()) {
				FileItem item = (FileItem) iter.next();
				// 信息为普通的格式
				if (item.isFormField()) {
					String fieldName = item.getFieldName();
					String value = item.getString();
				 
				}
				// 信息为文件格式
				else {
					String fileName = item.getName();
				 
					int index = fileName.lastIndexOf(".");
					fileName = fileName.substring(index);
				
					String fname = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())+fileName;
					String basePath =  req.getServletContext().getRealPath("/upload");
					String furl = "/upload/" + fname;
					File file = new File(basePath, fname);
					try {
						item.write(file);
						url = furl;
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}
		}
		catch(Exception e)
		{
			 
			e.printStackTrace();
		}
		return url;
	}
	
    /**
	 * 评论
	 * @param user
	 * @return
	 */
    @RequestMapping(value="/pinglun")
    @ResponseBody
	public Response pinglun(HttpServletRequest req,Pinglun pinglun){	
    	Response sres = new Response();
		try
		{
			 String uid = pinglun.getPlrid();
			 Userinfo uinfo = userinfoService.queryUserinfoById(Integer.parseInt(uid));
			 pinglun.setPlr(uinfo.getName());
			 pinglun.setPlsj(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
			 pinglunService.insertPinglun(pinglun);
			 Pinglun pinfo = new Pinglun();
			 pinfo.setUid(pinglun.getUid());
			 List<Pinglun> plist = pinglunService.queryPinglunList(pinfo);
			double totalfen = 0;
			if(plist!=null && plist.size()>0){
				for (Pinglun pinglun1 : plist) {
					totalfen = totalfen+ pinglun1.getFs();
				}
				totalfen = totalfen/plist.size();
			}
			
			 int id = Integer.parseInt(pinglun.getUid());
			 Zhaopin zpinfo = zhaopinService.queryZhaopinById(pinglun.getOid());
			 zpinfo.setState("已评价");
			 zhaopinService.updateZhaopin(zpinfo);
		
			 uinfo = new Userinfo();
		     uinfo = userinfoService.queryUserinfoById(id);
			 uinfo.setScores(totalfen);
			 userinfoService.updateUserinfo(uinfo);
			 sres.setCode(200);
		}
		catch(Exception e)
		{
			sres.setCode(500);
			e.printStackTrace();
		}
		return sres;
	}
    /**
     * 公告 
     * @param response
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/glist")
    @ResponseBody
    public GonggaoListResponse glist(HttpServletResponse response, HttpServletRequest request) throws Exception{
    	GonggaoListResponse res = new GonggaoListResponse();
    	Gginfo gonggao = new Gginfo();
    	List<Gginfo> dlist = gginfoService.queryGginfoList(gonggao, null);
    	res.setDlist(dlist);
	    return res;
	}
    
    /**
     * 公告 
     * @param response
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/ginfo")
    @ResponseBody
    public GonggaoResponse ginfo(HttpServletResponse response, HttpServletRequest request) throws Exception{
    	GonggaoResponse res = new GonggaoResponse();
    	int id = Integer.parseInt(request.getParameter("id"));
    	Gginfo gonggao = gginfoService.queryGginfoById(id);
    	res.setDinfo(gonggao);
	    return res;
	}  

}

猜你喜欢

转载自blog.csdn.net/weixin_46437112/article/details/135238431
今日推荐