123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package com.huimv.cattle.service.impl;
- import cn.hutool.core.util.ObjectUtil;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.huimv.cattle.pojo.IndustryOutput;
- import com.huimv.cattle.pojo.SubsidyCount;
- import com.huimv.cattle.mapper.SubsidyCountMapper;
- import com.huimv.cattle.service.SubsidyCountService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.huimv.cattle.token.TokenSign;
- import com.huimv.cattle.utils.DateUtil;
- import com.huimv.common.utils.Result;
- import com.huimv.common.utils.ResultCode;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletRequest;
- import java.math.BigDecimal;
- import java.util.*;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author zn
- * @since 2022-12-15
- */
- @Service
- public class SubsidyCountServiceImpl extends ServiceImpl<SubsidyCountMapper, SubsidyCount> implements SubsidyCountService {
- @Autowired
- private SubsidyCountMapper subsidyCountMapper;
- @Autowired
- private DateUtil dateUtil;
- @Override
- public Result getSubsidyCount(HttpServletRequest request, Map<String, String> paramsMap) {
- String farmCode = paramsMap.get("farmCode");
- if (StringUtils.isBlank(farmCode)) {
- farmCode = TokenSign.getFarmCode(request);
- }
- String yearNum = paramsMap.get("yearNum");
- // if (StringUtils.isBlank(yearNum)){
- // yearNum = "0";
- // }
- QueryWrapper<SubsidyCount> queryWrapper = new QueryWrapper<SubsidyCount>();
- if(StringUtils.isNotBlank(yearNum)) {
- queryWrapper.between("year", Integer.valueOf(dateUtil.getThisYear()) - Integer.valueOf(yearNum), Integer.valueOf(dateUtil.getThisYear()));
- // queryWrapper.last("LIMIT "+yearNum);
- }
- queryWrapper.eq("farm_code", farmCode);
- queryWrapper.orderByDesc("year");
- List<SubsidyCount> subsidyCounts = subsidyCountMapper.selectList(queryWrapper);
- if (ObjectUtil.isEmpty(subsidyCounts)) {
- SubsidyCount subsidyCount1 = new SubsidyCount();
- subsidyCount1.setYear(Integer.valueOf(dateUtil.getThisYear()));
- subsidyCount1.setSubsidyCount(BigDecimal.ZERO);
- subsidyCount1.setFarmCode(farmCode);
- subsidyCounts.add(subsidyCount1);
- subsidyCountMapper.insert(subsidyCount1);
- }
- return new Result(ResultCode.SUCCESS, subsidyCounts);
- }
- @Override
- public Result saveSubsidyCount(HttpServletRequest request, Map<String, String> paramsMap) {
- String farmCode = paramsMap.get("farmCode");
- if (StringUtils.isBlank(farmCode)) {
- farmCode = TokenSign.getFarmCode(request);
- }
- String list = paramsMap.get("list");
- JSONArray listJa = JSONArray.parseArray(list);
- List<SubsidyCount> SubsidyCountList = listJa.toJavaList(SubsidyCount.class);
- if (checkRepeat(SubsidyCountList)) {
- return new Result(10001, "有重复年份", false);
- } else {
- subsidyCountMapper.deleteAll(farmCode);
- }
- for (int a = listJa.size() - 1; a >= 0; a--) {
- JSONObject jsonObject = listJa.getJSONObject(a);
- Integer year = jsonObject.getInteger("year");
- SubsidyCount subsidyCount = new SubsidyCount();
- subsidyCount.setYear(year);
- subsidyCount.setSubsidyCount(jsonObject.getBigDecimal("subsidyCount"));
- subsidyCount.setFarmCode(farmCode);
- subsidyCountMapper.insert(subsidyCount);
- }
- return new Result(ResultCode.SUCCESS);
- }
- private Boolean checkRepeat(List<SubsidyCount> list) {
- List<Integer> collectionOptionList = new ArrayList<>();
- for (SubsidyCount a : list) {
- collectionOptionList.add(a.getYear());
- }
- Set<Integer> set = new HashSet<>(collectionOptionList);
- return collectionOptionList.size() != set.size();
- }
- }
|