洪城义警-正式版后台
tangzy
2022-02-10 62f71c8d96430f336ad961011647b9f9dcdebb15
能量树
6 files modified
94 ■■■■ changed files
src/main/java/org/springblade/common/config/BladeConfiguration.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/energy/controller/EnergyController.java 81 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/energy/mapper/EnergyMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/energy/mapper/EnergyMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/energy/service/IEnergyService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/energy/service/impl/EnergyServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -110,6 +110,7 @@
        secureRegistry.excludePathPatterns("/policy/**");
        secureRegistry.excludePathPatterns("/vote/vote/**");
        secureRegistry.excludePathPatterns("/useroption/useroption/**");
        secureRegistry.excludePathPatterns("/energyTree/**");
        return secureRegistry;
    }
src/main/java/org/springblade/modules/energy/controller/EnergyController.java
@@ -52,7 +52,7 @@
import java.util.Map;
/**
 *  控制器
 * 控制器
 *
 * @author BladeX
 * @since 2020-07-19
@@ -97,8 +97,8 @@
    @ApiOperation(value = "新增", notes = "传入dj")
    public R save(@Valid @RequestBody Energy energy) {
        List<String> list = energyService.selectEnergyTree(energy.getIdentification());
        if (list==null){
            EnergyTree energyTree= new EnergyTree();
        if (list == null) {
            EnergyTree energyTree = new EnergyTree();
            energyTree.setIdentification(energy.getIdentification());
            energyTreeService.save(energyTree);
        }
@@ -139,13 +139,14 @@
    /**
     * 能量统计
     *
     * @return
     */
    @PostMapping("/selectTreeNum")
    public R selectTreeNum() {
        Date date=new Date();
        DateFormat format=new SimpleDateFormat("yyyy-MM-dd");
        String time=format.format(date);
        Date date = new Date();
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String time = format.format(date);
        List<String> list = energyService.selectTreeNum(time);
        List<List<String>> lists = splitList(list, 3);
        return R.data(lists);
@@ -153,59 +154,95 @@
    /**
     * 拾取能量
     *
     * @param id
     * @return
     */
    @PostMapping("/updateEnergyId")
    public R updateEnergyId(String id,String identification,int num) {
    public R updateEnergyId(String id, String identification, int num) {
        energyService.updateEnergyId(id,identification);
        energyService.updateEnergyId(id, identification);
        //能量树
        String nums = energyTreeService.selectNum(identification);
        Integer a=Integer.valueOf(nums);
        Integer n=Integer.valueOf(num);
        Integer a = Integer.valueOf(nums);
        Integer n = Integer.valueOf(num);
        int i1 = n + a;
        String i = String.valueOf(i1);
        energyTreeService.updateEnergyTreeId(i,identification);
        energyTreeService.updateEnergyTreeId(i, identification);
        return R.success("拾取成功");
    }
    /**
     * 拾取能量
     *
     * @return
     */
    @PostMapping("/updateEnergyIds")
    public R updateEnergyId(@Valid @RequestBody Energy energy) {
        energyService.updateEnergyIds(energy.getId(), energy.getIdentification());
        //能量树
        String nums = energyTreeService.selectNum(energy.getIdentification());
        Integer a = Integer.valueOf(nums);
        Integer n = Integer.valueOf(energy.getNum());
        int i1 = n + a;
        String i = String.valueOf(i1);
        energyTreeService.updateEnergyTreeId(i, energy.getIdentification());
        return R.success("拾取成功");
    }
    private List<List<String>> splitList(List<String> list , int groupSize){
    private List<List<String>> splitList(List<String> list, int groupSize) {
        int length = list.size();
        // 计算可以分成多少组
        int num = ( length + groupSize - 1 )/groupSize ; // TODO
        int num = (length + groupSize - 1) / groupSize; // TODO
        List<List<String>> newList = new ArrayList<>(num);
        for (int i = 0; i < num; i++) {
            // 开始位置
            int fromIndex = i * groupSize;
            // 结束位置
            int toIndex = (i+1) * groupSize < length ? ( i+1 ) * groupSize : length ;
            newList.add(list.subList(fromIndex,toIndex)) ;
            int toIndex = (i + 1) * groupSize < length ? (i + 1) * groupSize : length;
            newList.add(list.subList(fromIndex, toIndex));
        }
        return  newList ;
        return newList;
    }
    /**
     * 每天23点自动拾取能量
     *
     */
    @PostMapping("/pickup")
    public void pickup(String ids,String time,String identification) {
    public void pickup(String ids, String time, String identification) {
        String[] split = ids.split(",");
        String strArrays = "";
        for (int i = 0; i < split.length; i++) {
            strArrays += "'" + split[i] + "',";
        }
        String code = strArrays.substring(0, strArrays.length() - 1);
        energyService.updateEnergyType(code,time);
        energyService.updateEnergyType(code, time);
        //能量树
        String nums = energyTreeService.selectNum(identification);
        Integer a=Integer.valueOf(nums);
        Integer a = Integer.valueOf(nums);
        int length = split.length;
        int i = a + length;
        String num=String.valueOf(i);
        energyTreeService.updateEnergyTreeId(num,identification);
        String num = String.valueOf(i);
        energyTreeService.updateEnergyTreeId(num, identification);
    }
    /**
     * 浇水
     *
     * @param energy
     * @return
     */
    @PostMapping("/updateTre")
    public R updateTre(@Valid @RequestBody Energy energy) {
        //能量树
        String nums = energyTreeService.selectNum(energy.getIdentification());
        Integer a = Integer.valueOf(nums);
        int i1 = a+1;
        String i = String.valueOf(i1);
        energyTreeService.updateEnergyTreeId(i, energy.getIdentification());
        String nu = energyTreeService.selectNum(energy.getIdentification());
        return R.data(nu);
    }
}
src/main/java/org/springblade/modules/energy/mapper/EnergyMapper.java
@@ -35,6 +35,7 @@
    List<String> selectTreeNum(String time);
    List<String> selectEnergyTree(String identification);
    void  updateEnergyId(String id,String identification);
    void  updateEnergyIds(Integer id,String identification);
    void  updateEnergyType(String code,String time);
    String selectType(String time);
}
src/main/java/org/springblade/modules/energy/mapper/EnergyMapper.xml
@@ -19,6 +19,10 @@
        UPDATE sys_energy SET
            type = 0 WHERE id = #{id} and identification=#{identification}
    </update>
    <update id="updateEnergyIds">
        UPDATE sys_energy SET
            type = 0 WHERE id = #{id} and identification=#{identification}
    </update>
    <select id="selectType" resultType="java.lang.String">
        select GROUP_CONCAT(id) as ids from sys_energy WHERE type=1 and time=#{time};
src/main/java/org/springblade/modules/energy/service/IEnergyService.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import io.swagger.models.auth.In;
import org.springblade.modules.dj.entity.Dj;
import org.springblade.modules.dj.vo.DjVO;
import org.springblade.modules.energy.entity.Energy;
@@ -34,6 +35,7 @@
public interface IEnergyService extends IService<Energy> {
    List<String> selectTreeNum(String time);
    void  updateEnergyId(String id,String identification);
    void  updateEnergyIds(Integer id, String identification);
    void  updateEnergyType(String code,String time);
    String selectType(String time);
    List<String> selectEnergyTree(String identification);
src/main/java/org/springblade/modules/energy/service/impl/EnergyServiceImpl.java
@@ -53,6 +53,11 @@
    }
    @Override
    public void updateEnergyIds(Integer id, String identification) {
        baseMapper.updateEnergyIds(id,identification);
    }
    @Override
    public void updateEnergyType(String code,String time) {
        baseMapper.updateEnergyType(code,time);
    }