package action;
import com.google.gson.Gson;
import com.opensymphony.xwork2.ModelDriven;
import dao.ImgDao;
import dao.JedisClient;
import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import pojo.Img;
import pojo.User;
import pojo.UserAddr;
import pojo.UserInfo;
import service.FUserService;
import service.ImgService;
import utils.FtpUtil;
import utils.MD5Util;
import utils.ResponseResult;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
/**
* @Auther: Tree
* @Date: 2019/8/5 15:11
* @Description:
*/
@Controller
public class UserAction extends BaseAction implements ModelDriven<User> {
@Value("${FTP_ADDRESS}")
private String FTP_ADDRESS;
@Value("${FTP_PORT}")
private Integer FTP_PORT;
@Value("${FTP_USERNAME}")
private String FTP_USERNAME;
@Value("${FTP_PASSWORD}")
private String FTP_PASSWORD;
@Value("${FTP_BASE_PATH}")
private String FTP_BASE_PATH;
@Value("${IMG_BASE_PATH}")
private String IMG_BASE_PATH;
@Autowired
private JedisClient jedisClient;
@Autowired
private FUserService userService;
@Resource
private ImgService imgService;
private User user = new User();
private String repeat_pwd;
private int parent_id;
private UserAddr userAddr;
private UserInfo info;
private int user_addr_id;
private String code;
private int user_id;
private Img img;
private File imgFile;
private String imgFileContentType;
private String imgFileFileName;
private String new_pwd;
private static String KEY_USERLIST = "userList";
private String current_pwd;
/**
* 添加用户地址
*
* @return
*/
public String addAddress() {
User onliner = (User) session.get("onliner");
userAddr.setUserId(onliner.getUser_id());
userAddr.setReceiver_addr(userAddr.getPro() + "," + userAddr.getCity() + "," + userAddr.getArea() + "," + userAddr.getStreet() + "," + userAddr.getReceiver_addr());
try {
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(userService.addAddress(userAddr));
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
/**
* 更新用户地址
*
* @return
*/
public String updateAddress() {
User onliner = (User) session.get("onliner");
userAddr.setUserId(onliner.getUser_id());
userAddr.setReceiver_addr(userAddr.getPro() + "," + userAddr.getCity() + "," + userAddr.getArea() + "," + userAddr.getStreet() + "," + userAddr.getReceiver_addr());
try {
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(userService.updateAddress(userAddr));
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
/**
* 删除用户地址
*
* @return
*/
public String removeAddr() {
try {
String addrJson = userService.removeAddr(user_addr_id);
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(addrJson);
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
/**
* 根据地址id获取地址
*
* @return
*/
public String getAddrById() {
try {
String addrById = userService.getAddrById(user_addr_id);
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(addrById);
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
/**
* 用户注册
*
* @return json
* @throws Exception
*/
public String register() throws Exception {
if (!session.get("code").equals(code)) {
session.remove("code");
request.setAttribute("hint", "验证码错误,请重新输入!");
return ERROR;
}
try {
request.setAttribute("newUser", user);
userService.register(user);
jedisClient.del(KEY_USERLIST);
request.setAttribute("hint", "注册成功");
return "login";
} catch (Exception e) {
e.printStackTrace();
}
return ERROR;
}
/**
* 用户登录
*
* @return
* @throws Exception
*/
public String login() throws Exception {
if (userService.login(user) != null) {
if (userService.login(user).getPassword().equals(MD5Util.getMD5(user.getPassword()))) {
session.put("onliner", userService.login(user));
return "index";
}
}
request.setAttribute("hints", "用户名或密码错误!");
return "login";
}
/**
* 用户退出
*
* @return
*/
public String exit() {
session.remove("onliner");
return "index";
}
/**
* 根据用户id查询详细信息
*
* @return
*/
public String getUserInfo() {
try {
User onliner = (User) session.get("onliner");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(userService.getUserInfo(onliner.getUser_id()));
System.out.println(userService.getUserInfo(onliner.getUser_id()));
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
/**
* 更新用户信息
*
* @return
*/
public String updateUserInfo() {
User onliner = (User) session.get("onliner");
info.setUser_id(onliner.getUser_id());
//如果用户上传了头像,就更新头像,否则只更新基本信息
if (imgFile != null){
System.out.println(imgFileFileName);
String oldFileName = imgFileFileName;
String extension = oldFileName.substring(oldFileName.indexOf("."));
String newName = oldFileName.substring(0, oldFileName.indexOf(".")) + UUID.randomUUID().toString().substring(0, 5) + extension;
String imgPath = getDate();
try {
Img img = new Img();
img.setImg_addr(IMG_BASE_PATH+imgPath+"/"+newName);
if(info.getHead() == 0){
int i = imgService.addImg(img);
info.setHead(i);
}else {
img.setImg_id(info.getHead());
imgService.updateImg(img);
}
FtpUtil.uploadFile(FTP_ADDRESS, FTP_PORT, FTP_USERNAME, FTP_PASSWORD, FTP_BASE_PATH, imgPath, newName, new FileInputStream(imgFile.getAbsoluteFile()));
} catch (Exception e) {
e.printStackTrace();
}
try {
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(userService.updateUserInfo(info));
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}else {
try {
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(userService.updateUserInfo(info));
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
}
public String getDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String format =
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Floda商城是一个综合性的B2C平台,类似京东商城。会员可以在商城浏览商品、下订单。 Floda商城采用分布式系统架构,子系统之间都是调用服务来实现系统之间的通信,使用http协议传递json数据方式实现。这样降低了系统之间的耦合度,提高了系统的扩展性。为了提高系统的性能… 各领域数据集,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
资源推荐
资源详情
资源评论
收起资源包目录
Floda商城是一个综合性的B2C平台,类似京东商城。.zip (716个子文件)
ace.min.css 311KB
vendor.css 267KB
bootstrap.css 138KB
style.css 119KB
bootstrap.min.css 118KB
bootstrap.min.css 115KB
bootstrap.min.css 94KB
style.min.css 89KB
easyui.css 56KB
font-awesome-ie7.min.css 37KB
ace-rtl.min.css 36KB
style.css 35KB
font-awesome.css 32KB
font-awesome.css 28KB
font-awesome.min.css 27KB
ace-skins.min.css 26KB
jquery-ui-1.10.3.full.min.css 24KB
font-awesome.min.css 23KB
bootstrap-theme.css 22KB
font-awesome.min.css 22KB
bootstrap-editable.css 21KB
bootstrap-theme.min.css 19KB
select2.css 19KB
layer.css 13KB
chosen.css 13KB
ui.jqgrid.css 12KB
icheck.css 12KB
webuploader.css 11KB
dropzone.css 11KB
fullcalendar.css 11KB
datepicker.css 10KB
echartsHome.css 8KB
codemirror.css 8KB
ace-ie.min.css 7KB
zTreeStyle.css 6KB
laydate.css 6KB
daterangepicker.css 5KB
datepicker-dev.css 4KB
colorbox.css 4KB
datepicker.css 4KB
style.css 3KB
laydate.css 3KB
laydate.css 3KB
datepicker.css 3KB
login.css 3KB
laydate.css 3KB
datepicker.css 3KB
layer.ext.css 3KB
jquery-ui-1.10.3.custom.min.css 3KB
easyui_style.css 3KB
bootstrap-timepicker.css 3KB
form-elements.css 2KB
colorpicker.css 2KB
jquery.gritter.css 2KB
WdatePicker.css 144B
Thumbs.db 21KB
Thumbs.db 18KB
Thumbs.db 11KB
Thumbs.db 4KB
Thumbs.db 3KB
Thumbs.db 3KB
fontawesome-webfont.eot 162KB
iconfont.eot 84KB
fontawesome-webfont.eot 69KB
fontawesome-webfont.eot 69KB
fontawesome-webfont.eot 59KB
Linearicons-Free.eot 55KB
glyphicons-halflings-regular.eot 20KB
login_bgx.gif 38KB
loading.gif 9KB
loading-0.gif 6KB
zTreeStandard.gif 5KB
loading-2.gif 2KB
img.gif 2KB
img.gif 2KB
datePicker.gif 1KB
loading-1.gif 701B
img.gif 475B
loading.gif 381B
line_conn.gif 45B
.gitignore 312B
index.html 1KB
index.html 902B
index.html 826B
index.html 702B
favicon.ico 1KB
UserAction.java 11KB
FProductAction.java 9KB
AlipayTrade.java 8KB
ProductAction.java 8KB
PayAction.java 7KB
ProductServiceImpl.java 5KB
FUserDaoImpl.java 5KB
UserWithPoi.java 5KB
FtpUtil.java 4KB
ProductDaoImpl.java 4KB
AlipayConfig.java 4KB
UserAction.java 4KB
FUserServiceImpl.java 3KB
CategroyAction.java 3KB
共 716 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功