package com.controller;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.YonghuEntity;
import com.entity.view.YonghuView;
import com.service.YonghuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 用户
* 后端接口
* @author
* @email
* @date 2023-04-11 10:42:36
*/
@RestController
@RequestMapping("/yonghu")
public class YonghuController {
@Autowired
private YonghuService yonghuService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(u==null || !u.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(u.getId(), username,"yonghu", "用户" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
if(u!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
YonghuEntity u = yonghuService.selectById(id);
return R.ok().put("data", u);
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(u==null) {
return R.error("账号不存在");
}
u.setMima("123456");
yonghuService.updateById(u);
return R.ok("密码已重置为:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
request.setAttribute("data", page);
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
request.setAttribute("data", page);
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( YonghuEntity yonghu){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
return R.ok().put("data", yonghuService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(YonghuEntity yonghu){
EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
YonghuView yonghuView = yonghuService.selectView(ew);
return R.ok("查询用户成功").put("data", yonghuView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
YonghuEntity yonghu = yonghuService.selectById(id);
return R.ok().put("data", yonghu);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
YonghuEntity yonghu = yonghuService.selectById(id);
return R.ok().put("data", yonghu);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
if(u!=null) {
return R.error("用户已存在");
}
yonghu.setId(new Date().getTime());
yonghuService.insert(yonghu);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
if(u!=null) {
return R.error("用户已存在");
}
yonghu.setId(new Date().getTime());
yonghuService.insert(yonghu);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@Transactional
public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
//ValidatorUtils.validateEntity(yonghu);
yonghuService.updateById(yonghu);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
yonghuService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFo
没有合适的资源?快使用搜索试试~ 我知道了~
ssm(智能商城平台)
共2000个文件
js:258个
png:160个
java:118个
需积分: 5 0 下载量 148 浏览量
2024-04-25
22:03:40
上传
评论
收藏 30.71MB RAR 举报
温馨提示
开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! 需要加v19306446185
资源推荐
资源详情
资源评论
收起资源包目录
ssm(智能商城平台) (2000个子文件)
0014a4b06eee3d0c0d54402a47ab2601b2862b 96KB
003f6a634d050d5f11f322ef99cc74e70ff468 38KB
008866ba56c4a4715a3f883ccb3be941031206 983B
00b8959f8b927c1f82f00f31ee4be6e1f33926 32KB
00c7fdb3a9724e8166ae619e77283ef8103239 89B
00e256c59333c0d06857acecb614261219a85c 58B
00f2380f10b824832ee8de9ab58391bc08c609 7KB
01105ad0afd83266a71732cc5ffea1379977c7 565B
01805d47fb8fb56183cfee284c8a421780240d 520B
019b099d96b382a549fa383bd81315cd6d295c 761B
01b2a88d27e13e4d9eaa4967a5afcdaaafe15a 221B
01b3d6f8636099d64917f082c5b383a43b0ae3 131KB
02e540a3b1c3a549bd2f7a7a9a81451627964e 204B
03365650be3487739ae1e1edca28d681a379b9 69KB
0347bcf92fb7f52615fd037316d5bea6bff18d 2KB
03c364318b6ac27dc4a8ae6717124d8dafaff9 7KB
03f20fb1197edf0433ff99759cb6399d0f99f9 2KB
03f9699886deef9aa0f52a7d252dea84baafef 285B
04245ff7fcf5b6bd1d820cc97573edd19f3244 729B
043f1c85f20fe8ce37ad380bebe2d42d14fb29 3KB
045bb8680b74e622312ce8b4b47ce586350d76 582B
047e5c734f5029e8f8d1ec396d1addb1d8171c 386B
04d6398f1b4ee2711bf7d06d087e98d675a462 8KB
0511de4fa8954d111523a81fafef4c3942f0b5 12KB
0532397c5e974e32f66958af409cb8918223ab 45B
0544ba37ac8faaae25fe8e0f9bd29c882a57c4 715B
0555fb526e4feb26adeb86c3002ffb6b0e2c25 120B
05bf9dc913551b52ad21bc3cba475e81544196 419B
061d8af955f0f5e6662807d4e3214916fc5ee7 453B
064b7e28626f47aaf4feb981f7e1297c26c278 5KB
065ba96ff49094ffaba88ff3fbad91d34bf0f3 2KB
068f41d121d3c77697e3b3001c007c22b700ab 82B
06b0d99871c0c97572a642f9be711eb1be00ac 832B
06da0dbe1ac123c33863909fdf9bb10fe162c5 8KB
06eaf8329cbc5dcd3940ac2bb078dd0154eb42 93B
06ec411e918356d10132520bdbbce2401477f2 15KB
071888ff21212a4576251ed69f9350cd962bb8 60B
075a46e5a584705d995e517a26f4c864cd2bf0 275B
07780cbe2af412e2e90d04b15db8c20184d328 22KB
07882912543add159e627eb68c50fdee08c8c6 1KB
07db601ce18dcdaeaf37d6c7f4ebd7f958bdde 56B
0830512b0ef3ca6d309ce53048cc14b0d35886 42KB
08cccc36d1e81b9971e6668340a77fca4bfef9 1KB
08eeb01c7be61e2b87c4882aa030442c09c85c 331B
09adbada2b5d93cbdb7aa2117d19bd4a994281 2KB
09b39b3a230f2a9f23d7834a5c143ebbe01fd7 2KB
0a4ab7c21a1dce3a63f1e2fe80138d06227353 764B
0addafdfe3c0d90a21d7f34238a6baba2c1b0b 63B
0b3f8629d9a648b6c10cf0def057cd1e456336 416B
0b4286a3226e44f1bb029dfc459406b4d34317 424B
0b7a744da2348815166fb206f25c57c059d70d 79B
0ba6b71fc1cbdea69e3dcca9dd5206e6d51700 2KB
0be0a01dff4c70c72f78a3f40186660ee8eee0 3KB
0c5c9de33a431d1c8e50cd12da74505921ad7e 598B
0c64f4fa74641e61381945942099806bc904c3 2KB
0c8c98b7009f5957c934d76dd5c867b0bf962d 1KB
0cb06a6ad6945be21865a29daa451dae4c5d99 104B
0d2319dbc1e8fbaeac72e8e96e6ddb47244d24 31KB
0d2b002d226bf132c5431843e37cccfc6a41a6 816B
0d89b8e65c3901caee95bd96d518f4eb27f817 106B
0db8ebc193dee1ab4e61b84bf544b624558e03 300B
0dbad858fcbf9b06edb7bff74cb8feecaa8b71 35KB
0e0a6d90970a88c017a101bec960ea69ea73d8 56B
0e93bb6bed05be15673f5b49c04e886167faa7 5KB
0edd2e7ef552538db31c246133e42fd78433c8 173B
0f14e7932e16305334a19ef8aac73fbd96757d 14KB
0f19a2818e4c81726bf965fc8dc108d52dc599 2KB
0fbc832b3884a2b34884b14fc433be8ac87697 33KB
1076053100bff9683c873c8ae3bad717b0efce 989B
10e94372690597fdbe33e3766ee073743fa6be 1015B
10f0b725ca1f66c8b5f08d8f47c748cbef43de 3KB
1107888e6739a7b367ad3d208e1efa933f877d 121B
114d3068e0a787dd44a39430a8fc44d1963dcf 1KB
11a2243198f142a7d7565ee662b5be257b55ab 508B
125d1c8d3b1ad68d980b8f1a5a472282bf993e 121B
1296ddb454928b237c72eccc0cc24e2a7348e8 748B
131c056b21890c671d4b633c7d95cbb3f0069f 109B
13b099e42f5ef02fc6cdfe0a6c7c3ee34ff5c2 30KB
13e27dfba708a01c380e7c731a13b52a34edfc 608B
13fc60404b91e398a37200c4a77b645cfd9586 75KB
1416c26ae7862e32096ef2920e58ce01899eca 4KB
1424b14b8d60a665f56e8e286366b45157acff 13KB
1437790f5433da8dc3c085a7fbdc121410e873 1KB
144cf0b1f786a9248a2998311e8109998d8a2d 739B
144e856bf67c99b8a207b877f98737f03a3852 145B
1462b794798b364a0bfe866649edfeb01ed097 57B
1463e2717a767069efb96dd33640b2b52ecc1d 2KB
14a7adddfe15d4a5710d679bab67c2648347b9 497B
14f7b90bf1d92f9ec3db565b1cbc2475f0dba1 2KB
1526e0d5e6eb5c30eb0a62c9b1d6d558ed9cdf 739B
1556d5d8a27e51923918f6a7618ffe8fa26ab1 150B
158a913bb897095340a14bae29feccb66960c0 2KB
15e3aac9a84ebad11b932e84722124772d9641 19KB
15f7091a959d1add7f810d6bb0b5e3a0149303 17KB
1608dfc4946be492e91867b02feffa3666a859 515B
163dd6fefab2017b3bfe8dabeb2157cbbad310 5KB
16861bb8256a9410f3220023b4123a073a53b4 3KB
16d9b8f48d0541c17e9d488f1e09eeff4babfe 552B
1748aab7a790d510fb3f42a8a8971d96efa79d 43KB
17939161605153a5c47a8a6191d5b5f7d172e7 5KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
传习毕业指导
- 粉丝: 202
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功