理财系统:
设计使用了当前较为流行的 spring boot , spring,spring mvc , mybatis , shiro 框架分页处理使用了pagehelper进行操作,
前台使用了模板语言 thymeleaf ,界面较为炫酷,适合年轻朋友。开发工具采用的是IDEA。
该系统主要解决了理财中的一些问题
包含功能: 权限管理,用户信息管理,理财产品管理等内容。
登陆控制层:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
@Controller @RequestMapping ( "/login" ) public class LoginController { @Autowired UserService userService;
@Autowired AdminService adminService;
/ / public static final Map <String, HttpSession> USR_SESSION = new HashMap<>(); public static String last_login = "";
@GetMapping( "/loginVerifyUsername/{username}" ) @ResponseBody public Msg loginVerifyUsername(@PathVariable( "username" ) String username) { User user = userService.selectUserByTerms(username, null); if (user ! = null) { return Msg.success(); } Admin admin = adminService.selectAdminByTerms(username, null); if (admin ! = null) { return Msg.success(); } return Msg.fail(); }
@GetMapping( "/verifyLogin" ) @ResponseBody public Msg verifyLogin(@RequestParam( "username" ) String username, @RequestParam( "password" ) String password, HttpSession session) {
User loginUser = userService.selectUserByTerms(username, password); if (loginUser ! = null) { / / 获取当前用户 Subject subject = SecurityUtils.getSubject(); / / 封装用户登录数据 UsernamePasswordToken token = new UsernamePasswordToken(username, password); try { subject.login(token); return Msg.success().add( "url" , "/user/index.html" ); } catch (UnknownAccountException | IncorrectCredentialsException e) { return Msg.fail(); } }
Admin admin = adminService.selectAdminByTerms(username, password); if (admin ! = null) { / / 获取当前用户 Subject subject = SecurityUtils.getSubject(); / / 封装用户登录数据 UsernamePasswordToken token = new UsernamePasswordToken(username, password); try { subject.login(token); return Msg.success().add( "url" , "/admin/index.html" ); } catch (UnknownAccountException | IncorrectCredentialsException e) { / / model.addAttribute( "msg" , "密码错误" ); return Msg.fail(); } } return Msg.fail(); }
@PostMapping( "/register" ) @ResponseBody public Msg register(@RequestParam( "username" ) String username, @RequestParam( "password" ) String password) { User user = new User(); user.setUsername(username); user.setPassword(password); user.setStatus( 0 ); user.setReputation( "良好" ); userService.insertUser(user); return Msg.success().add( "url" , "/" ); }
} |
用户信息控制层:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
@Controller public class UserController {
@Autowired UserService userService;
/ * * * 跳转到账户安全界面(用户)(修改密码) * * @param model * @ return * / @RequestMapping( "/user/personal/toSecurity.html" ) public String toSecurity(Model model) { model.addAttribute( "pageTopBarInfo" , "账户安全界面" ); model.addAttribute( "activeUrl1" , "personalActive" ); model.addAttribute( "activeUrl2" , "securityActive" ); return "/user/personal/security" ; }
/ * * * 跳转到个人信息界面(用户) * * @param model * @param session * @ return * / @RequestMapping( "/user/personal/toProfile.html" ) public String toProfile(Model model, HttpSession session) { User loginUser = (User) session.getAttribute( "loginUser" ); User user = userService.selectUserById(loginUser.getId()); model.addAttribute( "user" , user);
model.addAttribute( "pageTopBarInfo" , "个人信息界面" ); return "/user/personal/profile" ; }
/ * * * 判断并更新密码(用户) * * @param request * @ return * / @PutMapping( "/user/updatePwd" ) @ResponseBody public Msg updatePwd(HttpServletRequest request, HttpSession session) {
String id = request.getParameter( "id" ); User user = userService.selectUserById(Integer.valueOf( id )); String oldpwd = request.getParameter( "oldpwd" ); String newpwd = request.getParameter( "newpwd" ); User verifyExistUser = userService.selectUserByTerms(user.getUsername(), oldpwd); if (verifyExistUser ! = null) { user.setPassword(newpwd);
/ / 当前登录用户信息改变时session里面存储的用户信息也应该同时改变 User loginUser = (User) session.getAttribute( "loginUser" ); if (Integer.valueOf( id ) = = (loginUser.getId())) { session.setAttribute( "loginUser" , user); } userService.updateUser(user); return Msg.success(); } return Msg.fail(); }
/ * * * 更新用户信息(用户更改自己信息) * * @param id * @param user * @param session * @ return * / @PutMapping( "/user/updateUserProfile/{userId}" ) @ResponseBody public Msg updateUserProfile(@PathVariable( "userId" ) Integer id , User user, HttpSession session) { user.setId( id ); Integer result = userService.updateUser(user); if (result = = 1 ) { / / 当前登录用户信息改变时session里面存储的用户信息也应该同时改变 User loginUser = (User) session.getAttribute( "loginUser" ); if (loginUser! = null){ if ( id = = (loginUser.getId())) { session.setAttribute( "loginUser" , userService.selectUserById( id )); } } return Msg.success(); } return Msg.fail(); }
/ * * * 用户强制下线(管理员更改用户信息) * * @param id * @param session * @ return * / @PutMapping( "/user/updateUserStatus/{id}" ) @ResponseBody public Msg updateUserStatus(@PathVariable( "id" ) Integer id , HttpSession session) { User user = userService.selectUserById( id ); user.setStatus( 0 ); Integer result = userService.updateUser(user); if (result = = 1 ) { / / 当前登录用户强制下线 session.removeAttribute( "loginUser" ); return Msg.success(); } return Msg.fail(); }
/ * * * 跳转到用户信息界面(管理员) * @param pageNum * @param pageSize * @param model * @param session * @ return * / @GetMapping( "/admin/userinfo/toUserInfo.html" ) public String toUserInfo(@RequestParam(value = "pageNum" , defaultValue = "1" ) Integer pageNum, @RequestParam(value = "pageSize" , defaultValue = "5" ) Integer pageSize, Model model, HttpSession session) { / / 引入PageHelper插件,在查询之前调用startPage方法,传入页码以及每页大小 PageHelper.startPage(pageNum, pageSize); List <User> list = userService.selectAllUser(); / / 使用PageInfo包装查询后的结果,并交给页面处理 / / PageInfo封装了详细的分页信息,包括我们查询出来的数据,还可以传入连续显示的页数( 5 ) PageInfo<User> pageInfo = new PageInfo<User>( list , 5 ); model.addAttribute( "userPageInfo" ,pageInfo); model.addAttribute( "userList" , list );
model.addAttribute( "activeUrl1" , "userInfoActive" ); model.addAttribute( "activeUrl2" , "userInfoActive" ); model.addAttribute( "pageTopBarInfo" , "用户信息界面" ); return "/admin/userinfo/userinfo" ; }
/ * * * 添加用户(管理员) * @param user * @ return * / @PostMapping( "/user/addUser" ) @ResponseBody public Msg addUser(User user){ user.setStatus( 0 ); user.setReputation( "良好" ); Integer result = userService.insertUser(user); if (result = = 1 ){ return Msg.success(); } return Msg.fail(); }
/ * * * 更新用户信息时回显用户信息(管理员) * @param id * @ return * / @GetMapping( "/user/getUserById/{id}" ) @ResponseBody public Msg getUserInfoById(@PathVariable( "id" )Integer id ){ User user = userService.selectUserById( id ); return Msg.success().add( "user" ,user); }
/ * * * 删除用户(管理员) * @param id * @param session * @ return * / @DeleteMapping( "/user/deleteUserById/{id}" ) @ResponseBody public Msg deleteUserById(@PathVariable( "id" )Integer id ,HttpSession session){ Integer result = userService.deleteUserById( id ); if (result = = 1 ){ / / 删除用户时应先判断这个用户是否在线 User loginUser = (User) session.getAttribute( "loginUser" ); if (loginUser! = null){ if ( id = = (loginUser.getId())) { session.removeAttribute( "loginUser" ); } } return Msg.success(); } return Msg.fail(); }
/ * * * 跳转到用户信誉管理界面(管理员) * @param pageNum * @param pageSize * @param model * @param session * @ return * / @GetMapping( "/admin/userinfo/toReputation.html" ) public String toUserReputation(@RequestParam(value = "pageNum" , defaultValue = "1" ) Integer pageNum, @RequestParam(value = "pageSize" , defaultValue = "5" ) Integer pageSize, Model model, HttpSession session) { PageHelper.startPage(pageNum, pageSize); List <User> list = userService.selectAllUser(); PageInfo<User> pageInfo = new PageInfo<User>( list , 5 ); model.addAttribute( "userPageInfo" ,pageInfo); model.addAttribute( "userList" , list );
model.addAttribute( "activeUrl1" , "userInfoActive" ); model.addAttribute( "activeUrl2" , "reputationActive" ); model.addAttribute( "pageTopBarInfo" , "用户信誉界面" ); return "/admin/userinfo/reputation" ; }
}
银行卡管理界面: @Controller public class BankCardController {
@Autowired BankCardService bankCardService;
/ * * * 跳转到银行卡管理界面(用户) * * @param model * @param session * @ return * / @GetMapping( "/user/personal/toBankCard.html" ) public String toBankCard(Model model, HttpSession session) { User loginUser = (User) session.getAttribute( "loginUser" ); List <Bankcard> list = bankCardService.selectBankCardByUserId(loginUser.getId()); model.addAttribute( "bankCardList" , list );
model.addAttribute( "pageTopBarInfo" , "银行卡管理界面" ); model.addAttribute( "activeUrl1" , "personalActive" ); model.addAttribute( "activeUrl2" , "bankCardActive" ); return "/user/personal/bankcard" ; }
/ * * * 新增银行卡 * * @param bankcard * @param session * @ return * / @PostMapping( "/user/addBankCard" ) @ResponseBody public Msg addBankCard(Bankcard bankcard, HttpSession session) { / / System.out.println(bankcard.getCardbank()); User loginUser = (User) session.getAttribute( "loginUser" ); bankcard.setUserid(loginUser.getId()); Integer result = bankCardService.insertBankCard(bankcard); if (result = = 1 ) { return Msg.success(); } return Msg.fail(); }
/ * * * 修改银行卡时回显银行卡信息 * * @param id * @ return * / @GetMapping( "/user/getBankCardById/{id}" ) @ResponseBody public Msg getBankCardById(@PathVariable( "id" ) Integer id ) { Bankcard bankcard = bankCardService.selectBankCardById( id ); return Msg.success().add( "bankcard" , bankcard); }
/ * * * 修改银行卡信息 * * @param id * @param bankcard * @ return * / @PutMapping( "/user/updateBankCard/{update-id}" ) @ResponseBody public Msg updateBankCard(@PathVariable( "update-id" ) Integer id , Bankcard bankcard) { bankcard.setId( id ); Integer result = bankCardService.updateBankCard(bankcard); if (result = = 1 ) { return Msg.success(); } return Msg.fail(); }
/ * * * 删除银行卡 * * @param id * @ return * / @DeleteMapping( "/user/deleteBankCard/{id}" ) @ResponseBody public Msg deleteBankCard(@PathVariable( "id" ) Integer id ) { Integer result = bankCardService.deleteBankCardById( id ); if (result = = 1 ) { return Msg.success(); } return Msg.fail(); }
/ * * * 跳转到银行卡管理界面(管理员) * @param pageNum * @param pageSize * @param model * @param session * @ return * / @GetMapping( "/admin/userinfo/toBankCard.html" ) public String toBankCard1(@RequestParam(value = "pageNum" , defaultValue = "1" ) Integer pageNum, @RequestParam(value = "pageSize" , defaultValue = "5" ) Integer pageSize, Model model, HttpSession session) { PageHelper.startPage(pageNum, pageSize); List <Bankcard> list = bankCardService.selectAllBankCard(); PageInfo<Bankcard> pageInfo = new PageInfo<Bankcard>( list , 5 ); model.addAttribute( "bankcardPageInfo" ,pageInfo); model.addAttribute( "bankcardList" , list );
model.addAttribute( "pageTopBarInfo" , "银行卡管理界面" ); model.addAttribute( "activeUrl1" , "userInfoActive" ); model.addAttribute( "activeUrl2" , "bankcardActive" ); return "/admin/userinfo/bankcard" ; } } |
到此这篇关于Java项目java+springboot+ssm实现理财管理系统设计的文章就介绍到这了,更多相关java+springboot+ssm实现理财管理系统设计内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://blog.csdn.net/m0_66863468/article/details/122834973
查看更多关于Java项目之java+springboot+ssm实现理财管理系统设计的详细内容...