浏览代码

Add flash-mobile 用户登录

enilu 6 年之前
父节点
当前提交
ceed6d591b

+ 7 - 1
.gitignore

@@ -3,4 +3,10 @@
 **/COPYING
 **/readme.md
 **/package-lock.json
-.idea
+.idea
+.classpath
+.factorypath
+.vscode
+.settings
+.project
+target

+ 6 - 5
flash-waimai-api/src/main/java/cn/enilu/flash/api/controller/business/PositionController.java

@@ -9,6 +9,8 @@ import com.google.common.base.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import ch.qos.logback.classic.Logger;
+
 import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
@@ -19,6 +21,7 @@ import java.util.Map;
  */
 @RestController
 public class PositionController extends BaseController {
+
     @Autowired
     private MongoRepository mongoRepository;
     @Autowired
@@ -63,15 +66,13 @@ public class PositionController extends BaseController {
     public Object getPoiByCityAndKeyword(@RequestParam(value = "type",defaultValue = "search")String type,
                        @RequestParam(value = "city_id")Integer cityId,
                        @RequestParam(value = "keyword")String keyword){
-
         Map map =   positionService.findById(cityId);
         return Rets.success(positionService.searchPlace(map.get("name").toString(),keyword));
     }
 
-    //todo 未完成
-    @RequestMapping(value = "/position/pois/{geoHash}",method = RequestMethod.GET)
-
-    public Object getPoiByGeoHash(@PathVariable("geoHash")String geoHash){
+    @RequestMapping(value = "/v1/position/pois",method = RequestMethod.GET)
+    public Object getPoiByGeoHash(@RequestParam("geohash")String geoHash){
+        System.out.println("geohash:"+geoHash);
         return Rets.success(positionService.pois(geoHash));
     }
 }

+ 47 - 11
flash-waimai-api/src/main/java/cn/enilu/flash/api/controller/business/User2Controller.java

@@ -1,20 +1,31 @@
 package cn.enilu.flash.api.controller.business;
 
 import cn.enilu.flash.api.controller.BaseController;
+import cn.enilu.flash.bean.entity.front.FrontUser;
+import cn.enilu.flash.bean.entity.front.FrontUserInfo;
+import cn.enilu.flash.bean.entity.front.Ids;
+import cn.enilu.flash.bean.vo.business.CityInfo;
+import cn.enilu.flash.bean.vo.business.LoginVo;
 import cn.enilu.flash.bean.vo.front.Rets;
 import cn.enilu.flash.dao.MongoRepository;
+import cn.enilu.flash.service.front.IdsService;
+import cn.enilu.flash.service.front.PositionService;
 import cn.enilu.flash.utils.CaptchaCode;
+import cn.enilu.flash.utils.DateUtil;
+import cn.enilu.flash.utils.MD5;
 import cn.enilu.flash.utils.Maps;
 import org.nutz.lang.Strings;
 import org.nutz.mapl.Mapl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -27,6 +38,10 @@ public class User2Controller extends BaseController {
     private Logger logger = LoggerFactory.getLogger(User2Controller.class);
     @Autowired
     private MongoRepository mongoRepository;
+    @Autowired
+    private IdsService idsService;
+    @Autowired
+    private PositionService positionService;
 
     @RequestMapping(value = "/v1/user",method = RequestMethod.GET)
     public Object getUser(){
@@ -44,22 +59,43 @@ public class User2Controller extends BaseController {
     }
 
     @RequestMapping(value = "/v2/login",method = RequestMethod.POST)
-    public Object login(@RequestParam("username")String userName,
-                        @RequestParam("password")String password,
-                        @RequestParam("captcha_code") String captchaCode
-                      ){
+    public Object login(@RequestBody LoginVo loginVo){
         String captch = (String) getSession(CaptchaCode.CAPTCH_KEY);
-        if(!Strings.equals(captchaCode,captch)){
+        if(!Strings.equals(loginVo.getCaptchaCode(),captch)){
             return Rets.failure(Maps.newHashMap("type","ERROR_CAPTCHA","message","验证码不正确"));
         }
-        Map user = mongoRepository.findOne("users","username",userName,"password",password);
-        if(user!=null) {
-            Map userInfo = mongoRepository.findOne("userinfos", "user_id", Long.valueOf(user.get("user_id").toString()));
-            Object result = Mapl.merge(user, userInfo);
+        Map user = mongoRepository.findOne("users","username",loginVo.getUsername());
+        String newPassword = MD5.getMD5String(MD5.getMD5String(loginVo.getPassword()).substring(2,7)+MD5.getMD5String(loginVo.getPassword()));
+        if(user==null){
+            FrontUser frontUser = new FrontUser();
+            frontUser.setUser_id(idsService.getId(Ids.USER_ID));
+            frontUser.setUsername(loginVo.getUsername());                         
+            frontUser.setPassword(newPassword);
+            mongoRepository.save(frontUser); 
+            FrontUserInfo userInfo = new FrontUserInfo();
+            userInfo.setId(frontUser.getUser_id());
+            userInfo.setUser_id(frontUser.getUser_id());
+            userInfo.setRegiste_time(DateUtil.format(new Date(),"yyyy-MM-dd HH:mm"));
+            String ip = getIp();
+            CityInfo cityInfo = positionService.getPostion(ip);
+            userInfo.setCity(cityInfo.getCity());
+            userInfo.setUsername(frontUser.getUsername());
+            mongoRepository.save(userInfo);
+            Object result = Mapl.merge(frontUser, userInfo);
             setSession("currentUser",result);
-            return result;
+            return frontUser;
+        }else{            
+            if(newPassword.equals(user.get("password"))){
+                Map userInfo = mongoRepository.findOne("userinfos", "user_id", Long.valueOf(user.get("user_id").toString()));
+                Object result = Mapl.merge(user, userInfo);
+                setSession("currentUser",result);
+                return result;
+            }else{
+                return Rets.failure(Maps.newHashMap("type","ERROR_PASSWORD","message","密码错误"));
+            }
+            
         }
-        return Rets.failure(Maps.newHashMap("type","ERROR_PASSWORD","message","密码错误"));
+        
 
     }
     @RequestMapping(value = "/v2/signout",method = RequestMethod.GET)

+ 21 - 0
flash-waimai-core/src/main/java/cn/enilu/flash/bean/entity/front/FrontUser.java

@@ -0,0 +1,21 @@
+package cn.enilu.flash.bean.entity.front;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import lombok.Data;
+/**
+ * Created  on 2019/10/09
+ *
+ * @author enilu.cn
+ */
+@Data
+@Document(collection = "users")
+public class FrontUser extends BaseMongoEntity{
+    @Id
+    private String _id;
+    private String username;
+    private String password;
+    private Long user_id;
+
+}

+ 36 - 0
flash-waimai-core/src/main/java/cn/enilu/flash/bean/entity/front/FrontUserInfo.java

@@ -0,0 +1,36 @@
+package cn.enilu.flash.bean.entity.front;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import lombok.Data;
+/**
+ * Created  on 2019/10/09
+ *
+ * @author enilu.cn
+ */
+@Data
+@Document(collection = "userinfos")
+public class FrontUserInfo  extends BaseMongoEntity{
+    @Id
+    private String _id;
+    private String username;
+    private Long user_id;
+    private Long id;
+    private String city;
+    private String registe_time;
+    private Integer point=0;
+    private String mobile;
+    private Boolean is_mobile_valid=false;
+    private Boolean is_email_valid=false;
+    private Integer is_active=1;
+    private Integer gift_amount=3;
+    private String email;
+    private Integer delivery_card_expire_days=0;
+    private Integer current_invoice_id=0;
+    private Integer current_address_id=0;
+    private Integer balance=0;
+    private Integer brand_member_new=0;
+    private String avatar;
+
+}

+ 1 - 0
flash-waimai-core/src/main/java/cn/enilu/flash/bean/entity/front/Ids.java

@@ -19,6 +19,7 @@ public class Ids extends BaseMongoEntity{
     public static  final String CATEGORY_ID="category_id";
     public static  final String CART_ID = "cart_id";
     public static  final String ADDRESS_ID="address_id";
+    public static  final String USER_ID="user_id";
     @Id
     private String _id;
     private Long restaurant_id;

+ 9 - 0
flash-waimai-core/src/main/java/cn/enilu/flash/bean/vo/business/LoginVo.java

@@ -0,0 +1,9 @@
+package cn.enilu.flash.bean.vo.business;
+import lombok.Data;
+
+@Data
+public class LoginVo{
+    private String username;
+    private String password;
+    private String captchaCode;
+}

+ 0 - 6
flash-waimai-core/src/main/java/cn/enilu/flash/service/BaseService.java

@@ -126,12 +126,6 @@ public abstract  class BaseService<T, ID extends Serializable, R extends BaseRep
         return dao.save(record);
     }
     @Override
-    @CacheEvict(value = Cache.APPLICATION ,key = "#root.targetClass.simpleName+':'+#record.id")
-    public T saveOrUpdate(T record) {
-        return dao.save(record);
-    }
-
-    @Override
     public void clear() {
         dao.deleteAllInBatch();
     }

二进制
flash-waimai-manage/favicon.ico


+ 2 - 2
flash-waimai-manage/src/router/index.js

@@ -69,7 +69,7 @@ export const constantRouterMap = [
     meta: {
       roles: ['administrator', 'developer'],
       title: '业务管理',
-      icon: 'message'
+      icon: 'shopping'
     },
     children: [
       {
@@ -124,7 +124,7 @@ export const asyncRouterMap = [
     meta: {
       roles: ['administrator'],
       title: 'systemMgr',
-      icon: 'table'
+      icon: 'edit'
     },
     children: [
       {

+ 3 - 3
flash-waimai-mobile/package.json

@@ -6,9 +6,9 @@
   "private": true,
   "license": "GPL",
   "scripts": {
-    "dev": "cross-env NODE_ENV=online node build/dev-server.js",
-    "local": "cross-env NODE_ENV=local node build/dev-server.js",
-    "build": "node build/build.js"
+    "dev": "cross-env NODE_ENV=online node build/dev-server.js",//使用线上api
+    "local": "cross-env NODE_ENV=local node build/dev-server.js",//本地开发
+    "build": "node build/build.js"//发布到生产
   },
   "dependencies": {
     "better-scroll": "^0.1.15",

+ 4 - 2
flash-waimai-mobile/src/service/getData.js

@@ -50,7 +50,9 @@ export const searchplace = (cityid, value) => fetch('/v1/pois', {
  * 获取msite页面地址信息
  */
 
-export const msiteAddress = geohash => fetch('/position/pois/' + geohash);
+export const msiteAddress = geohash => fetch('/v1/position/pois',{
+	geohash
+});
 
 
 /**
@@ -456,7 +458,7 @@ export const deleteAddress = (userid, addressid) => fetch( '/v1/users/' + userid
 /**
  * 账号密码登录
  */
-export const accountLogin = (username, password, captcha_code) => fetch('/v2/login', {username, password, captcha_code}, 'POST');
+export const accountLogin = (username, password, captchaCode) => fetch('/v1/users/v2/login', {username, password, captchaCode}, 'POST');
 
 
 /**