fix
Helius
2021-09-15 7ab7943de217a9e5d4a489c22c7ae27a29692d55
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
package com.xzx.gc.system.service;
 
import cn.hutool.core.collection.CollUtil;
import com.xzx.gc.common.Result;
import com.xzx.gc.common.constant.CommonEnum;
import com.xzx.gc.common.constant.Constants;
import com.xzx.gc.common.dto.gdmap.GdReverseGEODto;
import com.xzx.gc.common.utils.BusinessUtil;
import com.xzx.gc.common.utils.gdmap.GdMapUtil;
import com.xzx.gc.entity.AddressInfo;
import com.xzx.gc.entity.AddressLevelInfo;
import com.xzx.gc.entity.OtherUserInfo;
import com.xzx.gc.entity.UserInfo;
import com.xzx.gc.system.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
 
import javax.servlet.http.HttpServletRequest;
import java.util.List;
 
@Service
@Transactional
@Slf4j
public class UserService {
    @Autowired
    private UserMapper userMapper;
 
    @Autowired
    private AddressLevelService addressLevelService;
 
    @Autowired
    private OtherUserService otherUserService;
 
    @Autowired
    private HttpServletRequest request;
 
    @Autowired
    private BusinessUtil businessUtil;
 
 
    public UserInfo findById(String userId){
        return userMapper.selectByPrimaryKey(userId);
    }
 
    public List<UserInfo> findForBiddenByTime(){
        Example example=new Example(UserInfo.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("delFlag",Constants.DEL_NOT_FLAG);
        criteria.andCondition("DATE_FORMAT(regist_time,'%Y-%m-%d')=date_sub(CURRENT_DATE(), interval 1 day)");
        List<UserInfo> userInfo1 = userMapper.selectByExample(example);
        return userInfo1;
    }
 
    /**
     * 根据用户经纬度查询位置
     * @return
     */
    public AddressLevelInfo findByLocation(String location){
        GdReverseGEODto gdReverseGEODto = new GdReverseGEODto();
        gdReverseGEODto.setLocation(location);
        Result areaInfo = GdMapUtil.getAreaInfo(gdReverseGEODto, 0);
        if (areaInfo.getCode() == 0) {
            AddressInfo addressInfo = (AddressInfo) areaInfo.getData();
            AddressLevelInfo addressLevelInfo=new AddressLevelInfo();
            addressLevelInfo.setLevel3Name(addressInfo.getTownshipName());
            addressLevelInfo.setLevel2Name(addressInfo.getCityName());
            addressLevelInfo.setLevel1Name(addressInfo.getProvinceName());
            List<AddressLevelInfo> byAny = addressLevelService.findByAny(addressLevelInfo);
            if(CollUtil.isNotEmpty(byAny)){
                return byAny.get(0);
            }else {
                return null;
            }
        } else {
            return null;
        }
    }
 
    /**
     * 查询手机号码
     * @param userId
     * @param type    类型 0普通用户 1平台用户
     * @return
     */
    public String findOtherByUserId(String userId,int type){
        if (businessUtil.isApp(request.getHeader("clientType"))) {
            OtherUserInfo byId = otherUserService.findById(userId);
            if(byId!=null)return byId.getMobilePhone();
        }else{
            UserInfo byId = findById(userId);
            if(byId!=null)return byId.getMobilePhone();
        }
        return "未知";
    }
 
    public List<UserInfo> findForBidden(){
        UserInfo userInfo = new UserInfo();
        userInfo.setDelFlag(Constants.DEL_NOT_FLAG);
        List<UserInfo> userInfo1 = userMapper.select(userInfo);
        return userInfo1;
    }
}