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;
|
}
|
}
|