| | |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.modules.farm.entity.Farm; |
| | | import org.springblade.modules.farm.vo.FarmVO; |
| | | import org.springblade.modules.resource.endpoint.OssEndpoint; |
| | | import org.springblade.modules.system.entity.DictBiz; |
| | | import org.springblade.modules.system.service.IDictBizService; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | private final ILandService landService; |
| | | private final IDictBizService dictService; |
| | | private final OssEndpoint ossEndpoint; |
| | | |
| | | /** |
| | | * 详情 |
| | |
| | | } else { |
| | | v1 = (double) Math.round(area * 100) / 100; |
| | | } |
| | | |
| | | //图片转换上传 |
| | | if (null!=land.getUrl() && !land.getUrl().equals("")){ |
| | | try { |
| | | //上传 |
| | | String url = ossEndpoint.uploadBase64String(land.getUrl()); |
| | | //回填url |
| | | land.setUrl(url); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | land.setLandArea(String.valueOf(v1)); |
| | | land.setType(1); |
| | | return R.status(landService.saveLandInfo(land)); |
| | |
| | | } else { |
| | | v1 = (double) Math.round(area * 100) / 100; |
| | | } |
| | | |
| | | //图片转换上传 |
| | | if (null!=land.getUrl() && !land.getUrl().equals("")){ |
| | | try { |
| | | //上传 |
| | | String url = ossEndpoint.uploadBase64String(land.getUrl()); |
| | | //回填url |
| | | land.setUrl(url); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | land.setLandArea(String.valueOf(v1)); |
| | | land.setType(1); |
| | | return R.status(landService.updateLandById(land)); |
| | |
| | | * @return |
| | | */ |
| | | List<LandVO> selectLandPage(IPage page, LandVO land); |
| | | |
| | | /** |
| | | * 地块信息新增 |
| | | * @param land |
| | | * @return |
| | | */ |
| | | boolean saveLandInfo(@Param("land") Land land); |
| | | /** |
| | | * 详情信息(自定义查询) |
| | |
| | | |
| | | <insert id="saveLandInfo"> |
| | | insert into sys_land |
| | | (user_id,land_name,land_type,land_area,land_range,type,land_unit,dept_id) |
| | | (user_id,land_name,land_type,land_area,land_range,type,land_unit,dept_id,url) |
| | | values |
| | | (#{land.userId},#{land.landName},#{land.landType},#{land.landArea}, |
| | | <if test="land.landRange!=null and land.landRange!=''"> |
| | | ST_GeomFromText(${land.landRange}), |
| | | </if> |
| | | #{land.type},#{land.landUnit},#{land.deptId}) |
| | | #{land.type},#{land.landUnit},#{land.deptId},#{land.url}) |
| | | </insert> |
| | | |
| | | <!--详情信息(自定义查询)--> |
| | |
| | | and id = #{land.id} |
| | | </select> |
| | | |
| | | <!--自定义修改电子围栏数据--> |
| | | <!--自定义地块数据--> |
| | | <update id="updateLandById"> |
| | | update sys_land set user_id = #{land.userId}, |
| | | land_name = #{land.landName}, |
| | |
| | | </if> |
| | | type = #{land.type}, |
| | | land_unit = #{land.landUnit}, |
| | | url = #{land.url}, |
| | | where id = #{land.id} |
| | | </update> |
| | | |
| | |
| | | * @return |
| | | */ |
| | | IPage<LandVO> selectLandPage(IPage<LandVO> page, LandVO land); |
| | | |
| | | /** |
| | | * 地块信息新增 |
| | | * @param land |
| | | * @return |
| | | */ |
| | | boolean saveLandInfo(Land land); |
| | | |
| | | /** |
| | | * 详情信息(自定义查询) |
| | | * @return |
| | |
| | | return page.setRecords(baseMapper.selectLandPage(page, land)); |
| | | } |
| | | |
| | | /** |
| | | * 地块信息新增 |
| | | * @param land |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean saveLandInfo(Land land) { |
| | | return baseMapper.saveLandInfo(land); |
| | |
| | | import org.springblade.modules.resource.builder.oss.OssBuilder; |
| | | import org.springblade.modules.resource.entity.Attach; |
| | | import org.springblade.modules.resource.service.IAttachService; |
| | | import org.springblade.modules.system.entity.User; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import sun.misc.BASE64Decoder; |
| | | |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.security.InvalidKeyException; |
| | |
| | | return R.data(bladeFile); |
| | | } |
| | | |
| | | /** |
| | | * base64 图片上传 |
| | | * @param base64 字符串 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public String uploadBase64String(String base64) throws Exception { |
| | | String[] split = base64.split(","); |
| | | //图片上传 |
| | | BASE64Decoder decoder = new BASE64Decoder(); |
| | | // 解密 |
| | | byte[] b = decoder.decodeBuffer(split[1]); |
| | | // 处理数据 |
| | | // for (int i = 0; i < b.length; ++i) { |
| | | // if (b[i] < 0) { |
| | | // b[i] += 256; |
| | | // } |
| | | // } |
| | | //填写你文件上传的地址以及相应信息 |
| | | String url = "http://61.131.136.25:2081"; |
| | | String access = "zhbaadmin"; |
| | | String secret = "zhbapassword"; |
| | | String bucket = "zhba"; |
| | | MinioClient minioClient = |
| | | MinioClient.builder() |
| | | .endpoint(url) |
| | | .credentials(access, secret) |
| | | .build(); |
| | | // 检查存储桶是否已经存在 |
| | | boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucket).build()); |
| | | if (!isExist) { |
| | | // 创建一个名为zip的存储桶,用于zip文件。 |
| | | minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucket).build()); |
| | | minioClient.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).build()); |
| | | } |
| | | String newName = "upload/picture/" + UUID.randomUUID().toString().replaceAll("-", "") + ".jpg"; |
| | | InputStream in = new ByteArrayInputStream(b); |
| | | //创建头部信息 |
| | | Map<String, String> headers = new HashMap<>(1 << 2); |
| | | //添加自定义内容类型 |
| | | headers.put("Content-Type", "application/octet-stream"); |
| | | //上传 |
| | | minioClient.putObject( |
| | | PutObjectArgs.builder().bucket(bucket).object(newName).stream( |
| | | in, in.available(), -1) |
| | | .headers(headers) |
| | | .build()); |
| | | in.close(); |
| | | //url |
| | | String urls = "http://61.131.136.25:2081/zhba/" + newName; |
| | | //返回 |
| | | return urls; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 文件上传,自定义上传 |