|
@@ -4,6 +4,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
|
|
import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
import org.apache.shiro.SecurityUtils;
|
|
@@ -11,10 +12,14 @@ import org.jeecg.common.exception.JeecgBootException;
|
|
|
import org.jeecg.common.system.util.JwtUtil;
|
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
|
import org.jeecg.common.util.RedisUtil;
|
|
|
+import org.jeecg.modules.app.dto.GetPlaceListDTO;
|
|
|
import org.jeecg.modules.app.service.IUserService;
|
|
|
import org.jeecg.modules.app.vo.LoginUserVO;
|
|
|
import org.jeecg.modules.app.vo.MsgInfoVO;
|
|
|
import org.jeecg.modules.app.vo.MsgVO;
|
|
|
+import org.jeecg.modules.app.vo.PlaceVO;
|
|
|
+import org.jeecg.modules.system.app.mapper.AppCategoryMapper;
|
|
|
+import org.jeecg.modules.system.app.mapper.AppSiteMapper;
|
|
|
import org.jeecg.modules.system.entity.SysAnnouncement;
|
|
|
import org.jeecg.modules.system.entity.SysAnnouncementSend;
|
|
|
import org.jeecg.modules.system.entity.SysUser;
|
|
@@ -22,11 +27,11 @@ import org.jeecg.modules.system.mapper.SysAnnouncementMapper;
|
|
|
import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper;
|
|
|
import org.jeecg.modules.system.mapper.SysUserMapper;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
import static org.jeecg.common.constant.CommonConstant.PREFIX_USER_TOKEN;
|
|
@@ -43,7 +48,11 @@ public class UserServiceImpl implements IUserService {
|
|
|
private SysAnnouncementSendMapper sysAnnouncementSendMapper;
|
|
|
@Resource
|
|
|
private SysAnnouncementMapper sysAnnouncementMapper;
|
|
|
- @Autowired
|
|
|
+ @Resource
|
|
|
+ private AppSiteMapper appSiteMapper;
|
|
|
+ @Resource
|
|
|
+ private AppCategoryMapper appCategoryMapper;
|
|
|
+ @Resource
|
|
|
private RedisUtil redisUtil;
|
|
|
|
|
|
@Override
|
|
@@ -101,6 +110,35 @@ public class UserServiceImpl implements IUserService {
|
|
|
return msgInfoVO;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Page<PlaceVO> getPlaceList(GetPlaceListDTO getPlaceListDTO) {
|
|
|
+ Page<PlaceVO> page = new Page<>(getPlaceListDTO.getCurrent(), getPlaceListDTO.getSize());
|
|
|
+ Page<PlaceVO> placeList = appSiteMapper.getPlaceList(page, getPlaceListDTO.getVenueType());
|
|
|
+ placeList.getRecords().forEach(placeVO -> {
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ String[] split = placeVO.getCategoryId().split(",");
|
|
|
+ Arrays.stream(split).forEach(id -> {
|
|
|
+ list.add(appCategoryMapper.selectById(id).getName());
|
|
|
+ });
|
|
|
+ //todo 待申请第三方地图接口
|
|
|
+ placeVO.setKm(0.0)
|
|
|
+ .setCategory(list);
|
|
|
+ });
|
|
|
+ if(getPlaceListDTO.getVenueType().equals("1")
|
|
|
+ || getPlaceListDTO.getVenueType().equals("2")
|
|
|
+ || getPlaceListDTO.getVenueType().equals("3")){
|
|
|
+ // 按 km 升序排序(从近到远)
|
|
|
+ placeList.getRecords().sort((p1, p2) -> {
|
|
|
+ Double km1 = p1.getKm();
|
|
|
+ Double km2 = p2.getKm();
|
|
|
+ return km1.compareTo(km2);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return placeList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private LoginUserVO generateLoginUserVO(SysUser user) {
|
|
|
String orgCode = user.getOrgCode().substring(0, 3);
|
|
|
String userAccount = "";
|