package cn.huge.module.kind.controller.wechat; import cn.huge.base.common.constant.GzRegionBaseEnum; import cn.huge.base.common.utils.*; import cn.huge.module.kind.domain.po.SyRegion; import cn.huge.module.kind.service.SyRegionService; import cn.huge.module.utils.BaiduMapAddrDTO; import cn.huge.module.utils.BaiduMapUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * @title: 地域表接口api-小程序端 * @description: 地域表接口api-小程序端 * @company: hugeinfo * @author: wangwh * @time: 2024-09-04 16:48:57 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/wechat/syRegion") public class SyregionWechatController { @Autowired(required = false) private HttpServletRequest request; @Autowired private SyRegionService service; /** * 根据百度地图经纬度获取街道 * @url {ctx}/api/wechat/syRegion/checkRegisterArea * @param lng 经度 * @param lat 维度 * @return */ @GetMapping("/checkRegisterArea") public Object checkRegisterArea(@RequestParam(value = "lng") String lng, @RequestParam(value = "lat") String lat) { try { //经纬度转换 PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(lng), Double.valueOf(lat)); BaiduMapAddrDTO baiduMapAddrDTO = BaiduMapUtils.getAddrByLngLat(String.valueOf(pointXY.getLon()), String.valueOf(pointXY.getLat()), BaiduMapUtils.coordtype_bd09ll); QueryWrapper syRegionQueryWrapper = new QueryWrapper<>(); // 查询区 syRegionQueryWrapper.clear(); syRegionQueryWrapper.like("name", baiduMapAddrDTO.getDistrict()); SyRegion district = service.getOne(syRegionQueryWrapper); if (ObjectUtils.isNotEmpty(district)) { if (GzRegionBaseEnum.AREA_7.getIndex().equals(district.getId())) { return ReturnSucUtils.getRepInfo(true); } else { return ReturnSucUtils.getRepInfo("反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", false); } }else { return ReturnSucUtils.getRepInfo("反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", false); } } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }