package com.hollywood.applet.service.impl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.hollywood.applet.dto.CompanyDistanceDto;
|
import com.hollywood.applet.mapper.TCompanyMapper;
|
import com.hollywood.applet.query.TCompanyQuery;
|
import com.hollywood.applet.service.TCompanyService;
|
import com.hollywood.applet.utils.AmapGeocoding;
|
import com.hollywood.common.basic.PageInfo;
|
import com.hollywood.common.model.TCompany;
|
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 企业管理 服务实现类
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2024-04-23
|
*/
|
@Service
|
public class TCompanyServiceImpl extends ServiceImpl<TCompanyMapper, TCompany> implements TCompanyService {
|
|
@Override
|
public PageInfo<CompanyDistanceDto> pageList(TCompanyQuery query) {
|
PageInfo<CompanyDistanceDto> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
|
String recommand = "";
|
if (query.getLat()!=null&&query.getLat()!=""){
|
try {
|
String cityCode = AmapGeocoding.getCityCode(Double.parseDouble(query.getLat()), Double.parseDouble(query.getLon()));
|
// String cityName = AmapGeocoding.getCityName(Double.parseDouble(query.getLat()), Double.parseDouble(query.getLon()));
|
// System.err.println(cityName);
|
recommand=replaceLastTwoWithZero(cityCode);
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
List<CompanyDistanceDto> list = this.baseMapper.pageList(query,pageInfo,recommand);
|
pageInfo.setRecords(list);
|
return pageInfo;
|
}
|
|
@Override
|
public int upAndDown(Long id, Integer status) {
|
TCompany company = this.baseMapper.selectById(id);
|
company.setStatus(status);
|
return this.baseMapper.updateById(company);
|
}
|
public static String replaceLastTwoWithZero(String code) {
|
// 检查字符串长度是否为6,如果不是6位,返回错误信息或默认值
|
if (code == null || code.length() != 6) {
|
throw new IllegalArgumentException("Invalid code length. Expected 6 digits, got: " + code);
|
}
|
|
// 替换最后两位为'00'
|
return code.substring(0, 4) + "00";
|
}
|
|
|
}
|