论文(设计)的主要任务与具体要求(有实验环节的要提出主要技术指标要求) 论文(设计)的主要任务与具体要求 根据目前人们日常生活对家具家电维修和清洁等服务的需要,设计家政服务小程序,实现其用户订单管理(发布订单,取消订单,修改订单),用户个人信息管理。实现讨论区用于用户交流、问题反馈寻找客服。实现管理员轮播图管理,管理员对用户管理。管理员对评论区的管理(防止各种违规评论)完成该小程序的编码与测试工作 主要技术指标要求: 1. 开发工具与技术:Wxml+ Wxss +Aoi 2. 数据库:云数据库 3. Web服务器:Tomcat 9.0 4.平台:Windows 10 | ||||||||||||||||||
进度安排(包括时间划分和各阶段主要工作内容)
| ||||||||||||||||||
主要参考文献(不少于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;
}
}