Pu Zhibing
2025-05-16 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
@@ -1,6 +1,10 @@
package com.stylefeng.guns.modular.api;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.modular.system.model.City;
import com.stylefeng.guns.modular.system.model.CityCopy;
import com.stylefeng.guns.modular.system.service.ICityCopyService;
import com.stylefeng.guns.modular.system.service.IOpenCityBusinessService;
import com.stylefeng.guns.modular.system.service.IOpenCityService;
import com.stylefeng.guns.modular.system.service.IUserInfoService;
@@ -16,6 +20,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
@@ -37,6 +42,9 @@
    @Autowired
    private IUserInfoService userInfoService;
    @Resource
    private ICityCopyService cityCopyService;
@@ -78,9 +86,10 @@
            @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "double"),
            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
    })
    public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language){
    public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language, HttpServletRequest request){
        try {
            List<BaseWarpper> list = openCityBusinessService.queryBusiness(lat, lnt, language);
            Integer uid = userInfoService.getUserIdFormRedis(request);
            List<BaseWarpper> list = openCityBusinessService.queryBusiness(uid, lat, lnt, language);
            return ResultUtil.success(list);
        }catch (Exception e){
            e.printStackTrace();
@@ -122,15 +131,30 @@
            @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String"),
            @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "String")
    })
    public ResultUtil openCity(Double lat, Double lnt, Integer language){
    public ResultUtil openCity(Double lat, Double lnt, Integer language, HttpServletRequest request){
        try {
            String s = openCityService.openCity(lat, lnt, language);
            Integer uid = userInfoService.getUserIdFormRedis(request);
            City city = openCityService.openCity(uid, lat, lnt, language);
            if(null == city){
                return ResultUtil.error("");
            }
            Map<String, Object> map = new HashMap<>();
            map.put("name", s);
            map.put("name", language == 1 ? city.getChineseName() : language == 2 ? city.getEnglishName() : city.getFrenchName());
            map.put("content", language == 1 ? city.getCountryChineseName() : language == 2 ? city.getCountryEnglishName() : city.getCountryFrenchName());
            return ResultUtil.success(map);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/getCity")
    @ApiOperation(value = "获取省市联动【1.0】", tags = {"用户端-首页"})
    public ResultUtil<List<CityCopy>> getCity(Integer pid){
        List<CityCopy> pid1 = cityCopyService.selectList(new EntityWrapper<CityCopy>().eq("pid", pid));
        return ResultUtil.success(pid1);
    }
}