mirror of
https://github.com/qiurunze123/miaosha.git
synced 2023-11-19 22:41:03 +08:00
登录页面
This commit is contained in:
parent
bdae627d0b
commit
1a8973c9ce
|
@ -86,6 +86,7 @@ public class Userinfo extends BaseDomain {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getIsBindPhone() {
|
public boolean getIsBindPhone() {
|
||||||
|
|
||||||
return BitStatesUtils.hasState(bitState, BitStatesUtils.OP_BIND_PHONE);
|
return BitStatesUtils.hasState(bitState, BitStatesUtils.OP_BIND_PHONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.geekq.admin.service.impl;
|
||||||
|
|
||||||
|
import com.geekq.admin.entity.Account;
|
||||||
|
import com.geekq.admin.mapper.AccountMapper;
|
||||||
|
import com.geekq.admin.service.IAccountService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service("accountServiceImpl")
|
||||||
|
public class AccountServiceImpl implements IAccountService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AccountMapper accountMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(Account account) {
|
||||||
|
int ret = accountMapper.updateByPrimaryKey(account);
|
||||||
|
// if (ret <= 0) {
|
||||||
|
// throw new RuntimeException("Account对象:" + account.getId()
|
||||||
|
// + " 乐观锁失败!");
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Account get(Long id) {
|
||||||
|
Account account = accountMapper.selectByPrimaryKey(id);
|
||||||
|
if (!account.checkAbstractInfo()) {
|
||||||
|
throw new RuntimeException("账户信息被篡改:" + id);
|
||||||
|
}
|
||||||
|
return account;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重建account表的摘要信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void recreateAbstractInfo() {
|
||||||
|
List<Account> accounts = this.accountMapper.selectAll();
|
||||||
|
for (Account account : accounts) {
|
||||||
|
this.accountMapper.updateByPrimaryKey(account);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Account> listAll() {
|
||||||
|
return this.accountMapper.selectAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -12,10 +12,7 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
@Service("iSystemDictionaryServiceImpl")
|
||||||
* @author 邱润泽
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class SystemDictionaryServiceImpl implements ISystemDictionaryService {
|
public class SystemDictionaryServiceImpl implements ISystemDictionaryService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemDictionaryMapper systemDictionaryMapper;
|
private SystemDictionaryMapper systemDictionaryMapper;
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.geekq.admin.service.impl;
|
||||||
|
|
||||||
|
import com.geekq.admin.entity.SystemDictionaryItem;
|
||||||
|
import com.geekq.admin.service.ISystemDictionaryService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据字典工具类
|
||||||
|
* @author Administrator
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class SystemDictionaryUtil {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISystemDictionaryService systemDictionaryService;
|
||||||
|
|
||||||
|
public List<SystemDictionaryItem> list(String sn) {
|
||||||
|
return systemDictionaryService.queryBySn(sn);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -27,4 +27,10 @@
|
||||||
|
|
||||||
<dubbo:service timeout="60000" retries="3"
|
<dubbo:service timeout="60000" retries="3"
|
||||||
interface="com.geekq.admin.service.RedisCacheStorageService" ref="redisCacheStorageServiceImpl" />
|
interface="com.geekq.admin.service.RedisCacheStorageService" ref="redisCacheStorageServiceImpl" />
|
||||||
|
|
||||||
|
<dubbo:service timeout="60000" retries="3"
|
||||||
|
interface="com.geekq.admin.service.IAccountService" ref="accountServiceImpl" />
|
||||||
|
|
||||||
|
<dubbo:service timeout="60000" retries="3"
|
||||||
|
interface="com.geekq.admin.service.ISystemDictionaryService" ref="iSystemDictionaryServiceImpl" />
|
||||||
</beans>
|
</beans>
|
||||||
|
|
|
@ -20,6 +20,8 @@ public class PersonController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAccountService accountService;
|
private IAccountService accountService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisCacheStorageService redisService;
|
private RedisCacheStorageService redisService;
|
||||||
|
|
||||||
|
@ -29,7 +31,9 @@ public class PersonController extends BaseController {
|
||||||
//从中拿到 用户信息对象
|
//从中拿到 用户信息对象
|
||||||
Logininfo info = redisService.get("Loginqiurunze11");
|
Logininfo info = redisService.get("Loginqiurunze11");
|
||||||
model.addAttribute("userinfo", userinfoService.get(info.getId()));
|
model.addAttribute("userinfo", userinfoService.get(info.getId()));
|
||||||
// model.addAttribute("account", accountService.get(info.getId()));
|
model.addAttribute("account", accountService.get(info.getId()));
|
||||||
|
model.addAttribute("logininfo", info);
|
||||||
|
|
||||||
return "personal";
|
return "personal";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.geekq.web.interceptor;
|
package com.geekq.web.interceptor;
|
||||||
|
|
||||||
|
import com.geekq.admin.service.impl.SystemDictionaryUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||||
|
@ -9,17 +10,15 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
public class AddGlobalUtilInterceptor extends HandlerInterceptorAdapter {
|
public class AddGlobalUtilInterceptor extends HandlerInterceptorAdapter {
|
||||||
|
|
||||||
/* @Autowired
|
@Autowired
|
||||||
private SystemDictionaryUtil systemDicUtil;*/
|
private SystemDictionaryUtil systemDicUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postHandle(HttpServletRequest request,
|
public void postHandle(HttpServletRequest request,
|
||||||
HttpServletResponse response, Object handler,
|
HttpServletResponse response, Object handler,
|
||||||
ModelAndView modelAndView) throws Exception {
|
ModelAndView modelAndView) throws Exception {
|
||||||
if (modelAndView != null) {
|
if (modelAndView != null) {
|
||||||
/*
|
|
||||||
modelAndView.addObject("_DicUtil", systemDicUtil);
|
modelAndView.addObject("_DicUtil", systemDicUtil);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
super.postHandle(request, response, handler, modelAndView);
|
super.postHandle(request, response, handler, modelAndView);
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,4 +28,10 @@
|
||||||
|
|
||||||
<dubbo:reference id="redisCacheStorageService" interface="com.geekq.admin.service.RedisCacheStorageService"
|
<dubbo:reference id="redisCacheStorageService" interface="com.geekq.admin.service.RedisCacheStorageService"
|
||||||
retries="3" check="false" init="true"></dubbo:reference>
|
retries="3" check="false" init="true"></dubbo:reference>
|
||||||
|
|
||||||
|
<dubbo:reference id="accountService" interface="com.geekq.admin.service.IAccountService"
|
||||||
|
retries="3" check="false" init="true"></dubbo:reference>
|
||||||
|
|
||||||
|
<dubbo:reference id="iSystemDictionaryServiceImpl" interface="com.geekq.admin.service.ISystemDictionaryService"
|
||||||
|
retries="3" check="false" init="true"></dubbo:reference>
|
||||||
</beans>
|
</beans>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<#else>
|
<#else>
|
||||||
<li>
|
<li>
|
||||||
<a class="el-current-user" href="/personal.do">
|
<a class="el-current-user" href="/personal.do">
|
||||||
${logininfo.username}
|
${logininfo.nickname}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -9,76 +9,7 @@
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
<#if !userinfo.isBindPhone>
|
|
||||||
$("#goto_bindphone").click(function(){
|
|
||||||
$("#bindPhoneModal").modal('show');
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#sendVerifyCode").click(function(){
|
|
||||||
var pn=$("#phoneNumber");
|
|
||||||
var _me=$(this);
|
|
||||||
if(pn.val()){
|
|
||||||
_me.attr("disabled","disabled");
|
|
||||||
$.ajax({
|
|
||||||
dataType:"json",
|
|
||||||
type:"post",
|
|
||||||
url:"/sendVerifyCode.do",
|
|
||||||
data:{phoneNumber:pn.val()},
|
|
||||||
success:function(data){
|
|
||||||
if(data.success){
|
|
||||||
var time=5;
|
|
||||||
var timer=window.setInterval(function(){
|
|
||||||
time--;
|
|
||||||
if(time>=0){
|
|
||||||
_me.html(time+"秒后重新发送");
|
|
||||||
}else{
|
|
||||||
_me.html("重新发送验证码");
|
|
||||||
_me.attr("disabled",false);
|
|
||||||
window.clearInterval(timer);
|
|
||||||
}
|
|
||||||
},1000);
|
|
||||||
}else{
|
|
||||||
_me.attr("disabled",false);
|
|
||||||
$.messager.alert("提示",data.msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#bindPhone").click(function(){
|
|
||||||
$("#bindForm").ajaxSubmit(function(data){
|
|
||||||
if(data.success){
|
|
||||||
$.messager.confirm("提示","手机绑定成功!",function(){
|
|
||||||
window.location.reload();
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
$.messager.popup("绑定手机失败");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
|
|
||||||
<#if !userinfo.isBindEmail>
|
|
||||||
$("#goto_bindemail").click(function(){
|
|
||||||
$("#bindEmailModal").modal("show");
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#bindEmail").click(function(){
|
|
||||||
if($("#email").val()){
|
|
||||||
$("#bindEmailForm").ajaxSubmit(function(data){
|
|
||||||
if(data.success){
|
|
||||||
$.messager.confirm("提示","已发送验证邮件,请尽快激活!",function(){
|
|
||||||
window.location.reload();
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
$.messager.popup("发送验证邮件失败");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</#if>
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
@ -105,7 +36,7 @@
|
||||||
<img class="icon" src="images/person_icon.png" />
|
<img class="icon" src="images/person_icon.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="pull-left el-head">
|
<div class="pull-left el-head">
|
||||||
<p>用户名:${logininfo.username}</p>
|
<p>用户名:${logininfo.nickname}</p>
|
||||||
<p>最后登录时间:2015-01-25 15:30:10</p>
|
<p>最后登录时间:2015-01-25 15:30:10</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="pull-left" style="text-align: center;width: 400px;margin:30px auto 0px auto;">
|
<div class="pull-left" style="text-align: center;width: 400px;margin:30px auto 0px auto;">
|
||||||
|
@ -167,7 +98,7 @@
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<div class="el-accoun-auth">
|
<div class="el-accoun-auth">
|
||||||
<div class="el-accoun-auth-left">
|
<div class="el-accoun-auth-left">
|
||||||
<img src="images/shouji.jpg" />
|
_DicUtil <img src="images/shouji.jpg" />
|
||||||
</div>
|
</div>
|
||||||
<div class="el-accoun-auth-right">
|
<div class="el-accoun-auth-right">
|
||||||
<h5>手机认证</h5>
|
<h5>手机认证</h5>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user