外贸网站功能,近期国内新闻热点事件,网站营销推广应该怎么做,网络广告推广好的有哪些网络的广泛应用给生活带来了十分的便利。所以把智慧外贸管理与现在网络相结合#xff0c;利用java技术建设智慧外贸平台#xff0c;实现智慧外贸的信息化。则对于进一步提高智慧外贸管理发展#xff0c;丰富智慧外贸管理经验能起到不少的促进作用。
智慧外贸平台能够通过互…
网络的广泛应用给生活带来了十分的便利。所以把智慧外贸管理与现在网络相结合利用java技术建设智慧外贸平台实现智慧外贸的信息化。则对于进一步提高智慧外贸管理发展丰富智慧外贸管理经验能起到不少的促进作用。
智慧外贸平台能够通过互联网得到广泛的、全面的宣传让尽可能多的用户了解和熟知智慧外贸平台的便捷高效不仅为群众提供了服务而且也推广了自己让更多的群众了解自己。对于智慧外贸而言若拥有自己的系统通过系统得到更好的管理同时提升了形象。
本系统设计的现状和趋势从需求、结构、数据库等方面的设计到系统的实现分别为管理员买家和商家的实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案借助java编程语言和MySQL数据库等实现系统的全部功能接下来对系统进行测试测试系统是否有漏洞和测试用户权限来完善系统最终系统完成达到相关标准。 关键字智慧外贸 java MySQL数据库 基于springboot智慧外贸平台源码和论文376
演示视频 基于springboot智慧外贸平台源码和论文 Abstract The wide application of network has brought great convenience to life. Therefore, the combination of smart foreign trade management and the current network, the use of Java technology to build a smart foreign trade platform, to achieve the information of smart foreign trade. For further improve the development of wisdom foreign trade management, rich wisdom foreign trade management experience can play a lot of promoting role.
Smart foreign trade platform can be widely and comprehensively publicized through the Internet, so that as many users as possible can understand and be familiar with the convenience and efficiency of smart foreign trade platform, not only provide services for the masses, but also promote themselves, so that more people know themselves. For intelligent foreign trade, if we have our own system, we can get better management through the system and improve our image.
The present situation and trend of the system design, from the requirements, structure, database and other aspects of the design to the realization of the system, respectively for the realization of the administrator, the buyer and the business. The content of the paper shows the development process from the aspects of system design, description, implementation, analysis and testing. The system according to the reality to choose a feasible development plan, with the help of Java programming language and MySQL database to achieve all the functions of the system, then the system is tested, test whether the system has vulnerabilities and test user permissions to improve the system, the final system to achieve relevant standards. Keywords: wisdom foreign trade Java MySQL database 表4-1关单信息 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP guandanbianhao varchar 200 关单编号 shangjiazhanghao varchar 200 商家账号 shangjiaxingming varchar 200 商家姓名 shangpinmingcheng varchar 200 商品名称 shangpinfenlei varchar 200 商品分类 guandanshijian date 关单时间 guandanbeizhu longtext 4294967295 关单备注 maijiazhanghao varchar 200 买家账号 maijiaxingming varchar 200 买家姓名 表4-2商品信息评论表 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP refid bigint 关联表id userid bigint 用户id nickname varchar 200 用户名 content longtext 4294967295 评论内容 reply longtext 4294967295 回复内容 表4-3token表 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 userid bigint 用户id username varchar 100 用户名 tablename varchar 100 表名 role varchar 100 角色 token varchar 200 密码 addtime timestamp 新增时间 CURRENT_TIMESTAMP expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP 表4-4运单信息 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP yundanhao varchar 200 运单号 shangjiazhanghao varchar 200 商家账号 shangjiaxingming varchar 200 商家姓名 shangpinmingcheng varchar 200 商品名称 shangpinfenlei varchar 200 商品分类 dengjishijian datetime 登记时间 yundanneirong longtext 4294967295 运单内容 maijiazhanghao varchar 200 买家账号 maijiaxingming varchar 200 买家姓名 表4-5订单信息 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP dingdanbianhao varchar 200 订单编号 shangjiazhanghao varchar 200 商家账号 shangjiaxingming varchar 200 商家姓名 shangpinmingcheng varchar 200 商品名称 shangpinfenlei varchar 200 商品分类 gengxinshijian datetime 更新时间 dingdanxiangqing longtext 4294967295 订单详情 maijiazhanghao varchar 200 买家账号 maijiaxingming varchar 200 买家姓名 表4-6收藏表 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP userid bigint 用户id refid bigint 收藏id tablename varchar 200 表名 name varchar 200 收藏名称 picture varchar 200 收藏图片 type varchar 200 类型(1:收藏,21:赞,22:踩) 1 inteltype varchar 200 推荐类型 package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 业务人员* 后端接口* author* email
*/
RestController
Controller
RequestMapping(/yewurenyuan)
public class YewurenyuanController {private static final Logger logger LoggerFactory.getLogger(YewurenyuanController.class);private static final String TABLE_NAME yewurenyuan;Autowiredprivate YewurenyuanService yewurenyuanService;Autowiredprivate TokenService tokenService;Autowiredprivate BaoxiuService baoxiuService;//报修Autowiredprivate BaoxiuCommentbackService baoxiuCommentbackService;//报修评价Autowiredprivate BaoxiuFenpeiService baoxiuFenpeiService;//报修分配Autowiredprivate DictionaryService dictionaryService;//字典Autowiredprivate FeiyongService feiyongService;//宽带缴费Autowiredprivate ForumService forumService;//论坛Autowiredprivate GonggaoService gonggaoService;//公告Autowiredprivate KuandaiService kuandaiService;//宽带Autowiredprivate KuandaiCollectionService kuandaiCollectionService;//宽带收藏Autowiredprivate KuandaiLiuyanService kuandaiLiuyanService;//宽带留言Autowiredprivate KuandaiOrderService kuandaiOrderService;//宽带开户Autowiredprivate KuandaiYuyueService kuandaiYuyueService;//宽带预约安装Autowiredprivate QianyiYuyueService qianyiYuyueService;//迁移申请Autowiredprivate YonghuService yonghuService;//用户Autowiredprivate UsersService usersService;//管理员/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永不会进入);else if(用户.equals(role))params.put(yonghuId,request.getSession().getAttribute(userId));else if(业务人员.equals(role))params.put(yewurenyuanId,request.getSession().getAttribute(userId));CommonUtil.checkMap(params);PageUtils page yewurenyuanService.queryPage(params);//字典表数据转换ListYewurenyuanView list (ListYewurenyuanView)page.getList();for(YewurenyuanView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put(data, page);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id, HttpServletRequest request){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);YewurenyuanEntity yewurenyuan yewurenyuanService.selectById(id);if(yewurenyuan !null){//entity转viewYewurenyuanView view new YewurenyuanView();BeanUtils.copyProperties( yewurenyuan , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody YewurenyuanEntity yewurenyuan, HttpServletRequest request){logger.debug(save方法:,,Controller:{},,yewurenyuan:{},this.getClass().getName(),yewurenyuan.toString());String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永远不会进入);WrapperYewurenyuanEntity queryWrapper new EntityWrapperYewurenyuanEntity().eq(username, yewurenyuan.getUsername()).or().eq(yewurenyuan_phone, yewurenyuan.getYewurenyuanPhone()).or().eq(yewurenyuan_id_number, yewurenyuan.getYewurenyuanIdNumber());logger.info(sql语句:queryWrapper.getSqlSegment());YewurenyuanEntity yewurenyuanEntity yewurenyuanService.selectOne(queryWrapper);if(yewurenyuanEntitynull){yewurenyuan.setCreateTime(new Date());yewurenyuan.setPassword(123456);yewurenyuanService.insert(yewurenyuan);return R.ok();}else {return R.error(511,账户或者业务人员手机号或者业务人员身份证号已经被使用);}}/*** 后端修改*/RequestMapping(/update)public R update(RequestBody YewurenyuanEntity yewurenyuan, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug(update方法:,,Controller:{},,yewurenyuan:{},this.getClass().getName(),yewurenyuan.toString());YewurenyuanEntity oldYewurenyuanEntity yewurenyuanService.selectById(yewurenyuan.getId());//查询原先数据String role String.valueOf(request.getSession().getAttribute(role));
// if(false)
// return R.error(511,永远不会进入);if(.equals(yewurenyuan.getYewurenyuanPhoto()) || null.equals(yewurenyuan.getYewurenyuanPhoto())){yewurenyuan.setYewurenyuanPhoto(null);}yewurenyuanService.updateById(yewurenyuan);//根据id更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Integer[] ids, HttpServletRequest request){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());ListYewurenyuanEntity oldYewurenyuanList yewurenyuanService.selectBatchIds(Arrays.asList(ids));//要删除的数据yewurenyuanService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/RequestMapping(/batchInsert)public R save( String fileName, HttpServletRequest request){logger.debug(batchInsert方法:,,Controller:{},,fileName:{},this.getClass().getName(),fileName);Integer yonghuId Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId)));SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);try {ListYewurenyuanEntity yewurenyuanList new ArrayList();//上传的东西MapString, ListString seachFields new HashMap();//要查询的字段Date date new Date();int lastIndexOf fileName.lastIndexOf(.);if(lastIndexOf -1){return R.error(511,该文件没有后缀);}else{String suffix fileName.substring(lastIndexOf);if(!.xls.equals(suffix)){return R.error(511,只支持后缀为xls的excel文件);}else{URL resource this.getClass().getClassLoader().getResource(static/upload/ fileName);//获取文件路径File file new File(resource.getFile());if(!file.exists()){return R.error(511,找不到上传文件请联系管理员);}else{ListListString dataList PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行因为第一行是提示for(ListString data:dataList){//循环YewurenyuanEntity yewurenyuanEntity new YewurenyuanEntity();
// yewurenyuanEntity.setUsername(data.get(0)); //账户 要改的
// //yewurenyuanEntity.setPassword(123456);//密码
// yewurenyuanEntity.setYewurenyuanName(data.get(0)); //业务人员姓名 要改的
// yewurenyuanEntity.setYewurenyuanPhone(data.get(0)); //业务人员手机号 要改的
// yewurenyuanEntity.setYewurenyuanIdNumber(data.get(0)); //业务人员身份证号 要改的
// yewurenyuanEntity.setYewurenyuanPhoto();//详情和图片
// yewurenyuanEntity.setSexTypes(Integer.valueOf(data.get(0))); //性别 要改的
// yewurenyuanEntity.setNewMoney(data.get(0)); //余额 要改的
// yewurenyuanEntity.setYewurenyuanEmail(data.get(0)); //业务人员邮箱 要改的
// yewurenyuanEntity.setCreateTime(date);//时间yewurenyuanList.add(yewurenyuanEntity);//把要查询是否重复的字段放入map中//账户if(seachFields.containsKey(username)){ListString username seachFields.get(username);username.add(data.get(0));//要改的}else{ListString username new ArrayList();username.add(data.get(0));//要改的seachFields.put(username,username);}//业务人员手机号if(seachFields.containsKey(yewurenyuanPhone)){ListString yewurenyuanPhone seachFields.get(yewurenyuanPhone);yewurenyuanPhone.add(data.get(0));//要改的}else{ListString yewurenyuanPhone new ArrayList();yewurenyuanPhone.add(data.get(0));//要改的seachFields.put(yewurenyuanPhone,yewurenyuanPhone);}//业务人员身份证号if(seachFields.containsKey(yewurenyuanIdNumber)){ListString yewurenyuanIdNumber seachFields.get(yewurenyuanIdNumber);yewurenyuanIdNumber.add(data.get(0));//要改的}else{ListString yewurenyuanIdNumber new ArrayList();yewurenyuanIdNumber.add(data.get(0));//要改的seachFields.put(yewurenyuanIdNumber,yewurenyuanIdNumber);}}//查询是否重复//账户ListYewurenyuanEntity yewurenyuanEntities_username yewurenyuanService.selectList(new EntityWrapperYewurenyuanEntity().in(username, seachFields.get(username)));if(yewurenyuanEntities_username.size() 0 ){ArrayListString repeatFields new ArrayList();for(YewurenyuanEntity s:yewurenyuanEntities_username){repeatFields.add(s.getUsername());}return R.error(511,数据库的该表中的 [账户] 字段已经存在 存在数据为:repeatFields.toString());}//业务人员手机号ListYewurenyuanEntity yewurenyuanEntities_yewurenyuanPhone yewurenyuanService.selectList(new EntityWrapperYewurenyuanEntity().in(yewurenyuan_phone, seachFields.get(yewurenyuanPhone)));if(yewurenyuanEntities_yewurenyuanPhone.size() 0 ){ArrayListString repeatFields new ArrayList();for(YewurenyuanEntity s:yewurenyuanEntities_yewurenyuanPhone){repeatFields.add(s.getYewurenyuanPhone());}return R.error(511,数据库的该表中的 [业务人员手机号] 字段已经存在 存在数据为:repeatFields.toString());}//业务人员身份证号ListYewurenyuanEntity yewurenyuanEntities_yewurenyuanIdNumber yewurenyuanService.selectList(new EntityWrapperYewurenyuanEntity().in(yewurenyuan_id_number, seachFields.get(yewurenyuanIdNumber)));if(yewurenyuanEntities_yewurenyuanIdNumber.size() 0 ){ArrayListString repeatFields new ArrayList();for(YewurenyuanEntity s:yewurenyuanEntities_yewurenyuanIdNumber){repeatFields.add(s.getYewurenyuanIdNumber());}return R.error(511,数据库的该表中的 [业务人员身份证号] 字段已经存在 存在数据为:repeatFields.toString());}yewurenyuanService.insertBatch(yewurenyuanList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,批量插入数据异常请联系管理员);}}/*** 登录*/IgnoreAuthRequestMapping(value /login)public R login(String username, String password, String captcha, HttpServletRequest request) {YewurenyuanEntity yewurenyuan yewurenyuanService.selectOne(new EntityWrapperYewurenyuanEntity().eq(username, username));if(yewurenyuannull || !yewurenyuan.getPassword().equals(password))return R.error(账号或密码不正确);String token tokenService.generateToken(yewurenyuan.getId(),username, yewurenyuan, 业务人员);R r R.ok();r.put(token, token);r.put(role,业务人员);r.put(username,yewurenyuan.getYewurenyuanName());r.put(tableName,yewurenyuan);r.put(userId,yewurenyuan.getId());return r;}/*** 注册*/IgnoreAuthPostMapping(value /register)public R register(RequestBody YewurenyuanEntity yewurenyuan, HttpServletRequest request) {
// ValidatorUtils.validateEntity(user);WrapperYewurenyuanEntity queryWrapper new EntityWrapperYewurenyuanEntity().eq(username, yewurenyuan.getUsername()).or().eq(yewurenyuan_phone, yewurenyuan.getYewurenyuanPhone()).or().eq(yewurenyuan_id_number, yewurenyuan.getYewurenyuanIdNumber());YewurenyuanEntity yewurenyuanEntity yewurenyuanService.selectOne(queryWrapper);if(yewurenyuanEntity ! null)return R.error(账户或者业务人员手机号或者业务人员身份证号已经被使用);yewurenyuan.setNewMoney(0.0);yewurenyuan.setCreateTime(new Date());yewurenyuanService.insert(yewurenyuan);return R.ok();}/*** 重置密码*/GetMapping(value /resetPassword)public R resetPassword(Integer id, HttpServletRequest request) {YewurenyuanEntity yewurenyuan yewurenyuanService.selectById(id);yewurenyuan.setPassword(123456);yewurenyuanService.updateById(yewurenyuan);return R.ok();}/*** 修改密码*/GetMapping(value /updatePassword)public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {YewurenyuanEntity yewurenyuan yewurenyuanService.selectById((Integer)request.getSession().getAttribute(userId));if(newPassword null){return R.error(新密码不能为空) ;}if(!oldPassword.equals(yewurenyuan.getPassword())){return R.error(原密码输入错误);}if(newPassword.equals(yewurenyuan.getPassword())){return R.error(新密码不能和原密码一致) ;}yewurenyuan.setPassword(newPassword);yewurenyuanService.updateById(yewurenyuan);return R.ok();}/*** 忘记密码*/IgnoreAuthRequestMapping(value /resetPass)public R resetPass(String username, HttpServletRequest request) {YewurenyuanEntity yewurenyuan yewurenyuanService.selectOne(new EntityWrapperYewurenyuanEntity().eq(username, username));if(yewurenyuan!null){yewurenyuan.setPassword(123456);yewurenyuanService.updateById(yewurenyuan);return R.ok();}else{return R.error(账号不存在);}}/*** 获取用户的session用户信息*/RequestMapping(/session)public R getCurrYewurenyuan(HttpServletRequest request){Integer id (Integer)request.getSession().getAttribute(userId);YewurenyuanEntity yewurenyuan yewurenyuanService.selectById(id);if(yewurenyuan !null){//entity转viewYewurenyuanView view new YewurenyuanView();BeanUtils.copyProperties( yewurenyuan , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 退出*/GetMapping(value logout)public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok(退出成功);}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(list方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));CommonUtil.checkMap(params);PageUtils page yewurenyuanService.queryPage(params);//字典表数据转换ListYewurenyuanView list (ListYewurenyuanView)page.getList();for(YewurenyuanView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put(data, page);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Long id, HttpServletRequest request){logger.debug(detail方法:,,Controller:{},,id:{},this.getClass().getName(),id);YewurenyuanEntity yewurenyuan yewurenyuanService.selectById(id);if(yewurenyuan !null){//entity转viewYewurenyuanView view new YewurenyuanView();BeanUtils.copyProperties( yewurenyuan , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody YewurenyuanEntity yewurenyuan, HttpServletRequest request){logger.debug(add方法:,,Controller:{},,yewurenyuan:{},this.getClass().getName(),yewurenyuan.toString());WrapperYewurenyuanEntity queryWrapper new EntityWrapperYewurenyuanEntity().eq(username, yewurenyuan.getUsername()).or().eq(yewurenyuan_phone, yewurenyuan.getYewurenyuanPhone()).or().eq(yewurenyuan_id_number, yewurenyuan.getYewurenyuanIdNumber())
// .notIn(yewurenyuan_types, new Integer[]{102});logger.info(sql语句:queryWrapper.getSqlSegment());YewurenyuanEntity yewurenyuanEntity yewurenyuanService.selectOne(queryWrapper);if(yewurenyuanEntitynull){yewurenyuan.setCreateTime(new Date());yewurenyuan.setPassword(123456);yewurenyuanService.insert(yewurenyuan);return R.ok();}else {return R.error(511,账户或者业务人员手机号或者业务人员身份证号已经被使用);}}} package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 用户* 后端接口* author* email
*/
RestController
Controller
RequestMapping(/yonghu)
public class YonghuController {private static final Logger logger LoggerFactory.getLogger(YonghuController.class);private static final String TABLE_NAME yonghu;Autowiredprivate YonghuService yonghuService;Autowiredprivate TokenService tokenService;Autowiredprivate DictionaryService dictionaryService;//字典Autowiredprivate ForumService forumService;//交流论坛Autowiredprivate GonggaoService gonggaoService;//公告资讯Autowiredprivate HanfuService hanfuService;//汉服信息Autowiredprivate HanfuCollectionService hanfuCollectionService;//汉服收藏Autowiredprivate HanfuCommentbackService hanfuCommentbackService;//汉服评价Autowiredprivate HanfuOrderService hanfuOrderService;//汉服租赁Autowiredprivate UsersService usersService;//管理员/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永不会进入);else if(用户.equals(role))params.put(yonghuId,request.getSession().getAttribute(userId));CommonUtil.checkMap(params);PageUtils page yonghuService.queryPage(params);//字典表数据转换ListYonghuView list (ListYonghuView)page.getList();for(YonghuView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put(data, page);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id, HttpServletRequest request){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);YonghuEntity yonghu yonghuService.selectById(id);if(yonghu !null){//entity转viewYonghuView view new YonghuView();BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody YonghuEntity yonghu, HttpServletRequest request){logger.debug(save方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永远不会进入);WrapperYonghuEntity queryWrapper new EntityWrapperYonghuEntity().eq(username, yonghu.getUsername()).or().eq(yonghu_phone, yonghu.getYonghuPhone()).or().eq(yonghu_id_number, yonghu.getYonghuIdNumber());logger.info(sql语句:queryWrapper.getSqlSegment());YonghuEntity yonghuEntity yonghuService.selectOne(queryWrapper);if(yonghuEntitynull){yonghu.setCreateTime(new Date());yonghu.setPassword(123456);yonghuService.insert(yonghu);return R.ok();}else {return R.error(511,账户或者用户手机号或者用户身份证号已经被使用);}}/*** 后端修改*/RequestMapping(/update)public R update(RequestBody YonghuEntity yonghu, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug(update方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());YonghuEntity oldYonghuEntity yonghuService.selectById(yonghu.getId());//查询原先数据String role String.valueOf(request.getSession().getAttribute(role));
// if(false)
// return R.error(511,永远不会进入);if(.equals(yonghu.getYonghuPhoto()) || null.equals(yonghu.getYonghuPhoto())){yonghu.setYonghuPhoto(null);}yonghuService.updateById(yonghu);//根据id更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Integer[] ids, HttpServletRequest request){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());ListYonghuEntity oldYonghuList yonghuService.selectBatchIds(Arrays.asList(ids));//要删除的数据yonghuService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/RequestMapping(/batchInsert)public R save( String fileName, HttpServletRequest request){logger.debug(batchInsert方法:,,Controller:{},,fileName:{},this.getClass().getName(),fileName);Integer yonghuId Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId)));SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);//.eq(time, new SimpleDateFormat(yyyy-MM-dd).format(new Date()))try {ListYonghuEntity yonghuList new ArrayList();//上传的东西MapString, ListString seachFields new HashMap();//要查询的字段Date date new Date();int lastIndexOf fileName.lastIndexOf(.);if(lastIndexOf -1){return R.error(511,该文件没有后缀);}else{String suffix fileName.substring(lastIndexOf);if(!.xls.equals(suffix)){return R.error(511,只支持后缀为xls的excel文件);}else{URL resource this.getClass().getClassLoader().getResource(static/upload/ fileName);//获取文件路径File file new File(resource.getFile());if(!file.exists()){return R.error(511,找不到上传文件请联系管理员);}else{ListListString dataList PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行因为第一行是提示for(ListString data:dataList){//循环YonghuEntity yonghuEntity new YonghuEntity();
// yonghuEntity.setUsername(data.get(0)); //账户 要改的
// yonghuEntity.setPassword(123456);//密码
// yonghuEntity.setYonghuUuidNumber(data.get(0)); //用户编号 要改的
// yonghuEntity.setYonghuName(data.get(0)); //用户姓名 要改的
// yonghuEntity.setYonghuPhone(data.get(0)); //用户手机号 要改的
// yonghuEntity.setYonghuIdNumber(data.get(0)); //用户身份证号 要改的
// yonghuEntity.setYonghuPhoto();//详情和图片
// yonghuEntity.setSexTypes(Integer.valueOf(data.get(0))); //性别 要改的
// yonghuEntity.setNewMoney(data.get(0)); //余额 要改的
// yonghuEntity.setYonghuEmail(data.get(0)); //用户邮箱 要改的
// yonghuEntity.setCreateTime(date);//时间yonghuList.add(yonghuEntity);//把要查询是否重复的字段放入map中//账户if(seachFields.containsKey(username)){ListString username seachFields.get(username);username.add(data.get(0));//要改的}else{ListString username new ArrayList();username.add(data.get(0));//要改的seachFields.put(username,username);}//用户编号if(seachFields.containsKey(yonghuUuidNumber)){ListString yonghuUuidNumber seachFields.get(yonghuUuidNumber);yonghuUuidNumber.add(data.get(0));//要改的}else{ListString yonghuUuidNumber new ArrayList();yonghuUuidNumber.add(data.get(0));//要改的seachFields.put(yonghuUuidNumber,yonghuUuidNumber);}//用户手机号if(seachFields.containsKey(yonghuPhone)){ListString yonghuPhone seachFields.get(yonghuPhone);yonghuPhone.add(data.get(0));//要改的}else{ListString yonghuPhone new ArrayList();yonghuPhone.add(data.get(0));//要改的seachFields.put(yonghuPhone,yonghuPhone);}//用户身份证号if(seachFields.containsKey(yonghuIdNumber)){ListString yonghuIdNumber seachFields.get(yonghuIdNumber);yonghuIdNumber.add(data.get(0));//要改的}else{ListString yonghuIdNumber new ArrayList();yonghuIdNumber.add(data.get(0));//要改的seachFields.put(yonghuIdNumber,yonghuIdNumber);}}//查询是否重复//账户ListYonghuEntity yonghuEntities_username yonghuService.selectList(new EntityWrapperYonghuEntity().in(username, seachFields.get(username)));if(yonghuEntities_username.size() 0 ){ArrayListString repeatFields new ArrayList();for(YonghuEntity s:yonghuEntities_username){repeatFields.add(s.getUsername());}return R.error(511,数据库的该表中的 [账户] 字段已经存在 存在数据为:repeatFields.toString());}//用户编号ListYonghuEntity yonghuEntities_yonghuUuidNumber yonghuService.selectList(new EntityWrapperYonghuEntity().in(yonghu_uuid_number, seachFields.get(yonghuUuidNumber)));if(yonghuEntities_yonghuUuidNumber.size() 0 ){ArrayListString repeatFields new ArrayList();for(YonghuEntity s:yonghuEntities_yonghuUuidNumber){repeatFields.add(s.getYonghuUuidNumber());}return R.error(511,数据库的该表中的 [用户编号] 字段已经存在 存在数据为:repeatFields.toString());}//用户手机号ListYonghuEntity yonghuEntities_yonghuPhone yonghuService.selectList(new EntityWrapperYonghuEntity().in(yonghu_phone, seachFields.get(yonghuPhone)));if(yonghuEntities_yonghuPhone.size() 0 ){ArrayListString repeatFields new ArrayList();for(YonghuEntity s:yonghuEntities_yonghuPhone){repeatFields.add(s.getYonghuPhone());}return R.error(511,数据库的该表中的 [用户手机号] 字段已经存在 存在数据为:repeatFields.toString());}//用户身份证号ListYonghuEntity yonghuEntities_yonghuIdNumber yonghuService.selectList(new EntityWrapperYonghuEntity().in(yonghu_id_number, seachFields.get(yonghuIdNumber)));if(yonghuEntities_yonghuIdNumber.size() 0 ){ArrayListString repeatFields new ArrayList();for(YonghuEntity s:yonghuEntities_yonghuIdNumber){repeatFields.add(s.getYonghuIdNumber());}return R.error(511,数据库的该表中的 [用户身份证号] 字段已经存在 存在数据为:repeatFields.toString());}yonghuService.insertBatch(yonghuList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,批量插入数据异常请联系管理员);}}/*** 登录*/IgnoreAuthRequestMapping(value /login)public R login(String username, String password, String captcha, HttpServletRequest request) {YonghuEntity yonghu yonghuService.selectOne(new EntityWrapperYonghuEntity().eq(username, username));if(yonghunull || !yonghu.getPassword().equals(password))return R.error(账号或密码不正确);String token tokenService.generateToken(yonghu.getId(),username, yonghu, 用户);R r R.ok();r.put(token, token);r.put(role,用户);r.put(username,yonghu.getYonghuName());r.put(tableName,yonghu);r.put(userId,yonghu.getId());return r;}/*** 注册*/IgnoreAuthPostMapping(value /register)public R register(RequestBody YonghuEntity yonghu, HttpServletRequest request) {
// ValidatorUtils.validateEntity(user);WrapperYonghuEntity queryWrapper new EntityWrapperYonghuEntity().eq(username, yonghu.getUsername()).or().eq(yonghu_phone, yonghu.getYonghuPhone()).or().eq(yonghu_id_number, yonghu.getYonghuIdNumber());YonghuEntity yonghuEntity yonghuService.selectOne(queryWrapper);if(yonghuEntity ! null)return R.error(账户或者用户手机号或者用户身份证号已经被使用);yonghu.setYonghuUuidNumber(String.valueOf(new Date().getTime()));yonghu.setNewMoney(0.0);yonghu.setCreateTime(new Date());yonghuService.insert(yonghu);return R.ok();}/*** 重置密码*/GetMapping(value /resetPassword)public R resetPassword(Integer id, HttpServletRequest request) {YonghuEntity yonghu yonghuService.selectById(id);yonghu.setPassword(123456);yonghuService.updateById(yonghu);return R.ok();}/*** 修改密码*/GetMapping(value /updatePassword)public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {YonghuEntity yonghu yonghuService.selectById((Integer)request.getSession().getAttribute(userId));if(newPassword null){return R.error(新密码不能为空) ;}if(!oldPassword.equals(yonghu.getPassword())){return R.error(原密码输入错误);}if(newPassword.equals(yonghu.getPassword())){return R.error(新密码不能和原密码一致) ;}yonghu.setPassword(newPassword);yonghuService.updateById(yonghu);return R.ok();}/*** 忘记密码*/IgnoreAuthRequestMapping(value /resetPass)public R resetPass(String username, HttpServletRequest request) {YonghuEntity yonghu yonghuService.selectOne(new EntityWrapperYonghuEntity().eq(username, username));if(yonghu!null){yonghu.setPassword(123456);yonghuService.updateById(yonghu);return R.ok();}else{return R.error(账号不存在);}}/*** 获取用户的session用户信息*/RequestMapping(/session)public R getCurrYonghu(HttpServletRequest request){Integer id (Integer)request.getSession().getAttribute(userId);YonghuEntity yonghu yonghuService.selectById(id);if(yonghu !null){//entity转viewYonghuView view new YonghuView();BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 退出*/GetMapping(value logout)public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok(退出成功);}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(list方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));CommonUtil.checkMap(params);PageUtils page yonghuService.queryPage(params);//字典表数据转换ListYonghuView list (ListYonghuView)page.getList();for(YonghuView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put(data, page);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Integer id, HttpServletRequest request){logger.debug(detail方法:,,Controller:{},,id:{},this.getClass().getName(),id);YonghuEntity yonghu yonghuService.selectById(id);if(yonghu !null){//entity转viewYonghuView view new YonghuView();BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody YonghuEntity yonghu, HttpServletRequest request){logger.debug(add方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());WrapperYonghuEntity queryWrapper new EntityWrapperYonghuEntity().eq(username, yonghu.getUsername()).or().eq(yonghu_phone, yonghu.getYonghuPhone()).or().eq(yonghu_id_number, yonghu.getYonghuIdNumber())
// .notIn(yonghu_types, new Integer[]{102});logger.info(sql语句:queryWrapper.getSqlSegment());YonghuEntity yonghuEntity yonghuService.selectOne(queryWrapper);if(yonghuEntitynull){yonghu.setCreateTime(new Date());yonghu.setPassword(123456);yonghuService.insert(yonghu);return R.ok();}else {return R.error(511,账户或者用户手机号或者用户身份证号已经被使用);}}}