Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
@@ -65,8 +65,8 @@ public class AttendanceGroupController extends BaseController {
|
|||||||
@SaCheckPermission("Property:group:query")
|
@SaCheckPermission("Property:group:query")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<AttendanceGroupVo> getInfo(@NotNull(message = "主键不能为空")
|
public R<AttendanceGroupVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable("id") Long id) {
|
@PathVariable("id") Long id,Integer attendanceType) {
|
||||||
return R.ok(attendanceGroupService.queryById(id));
|
return R.ok(attendanceGroupService.queryById(id,attendanceType));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,6 +88,7 @@ public class AttendanceGroupController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PutMapping()
|
@PutMapping()
|
||||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody AttendanceGroupBo bo) {
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody AttendanceGroupBo bo) {
|
||||||
|
//todo:考勤组的修改待确定
|
||||||
return toAjax(attendanceGroupService.updateByBo(bo));
|
return toAjax(attendanceGroupService.updateByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +101,7 @@ public class AttendanceGroupController extends BaseController {
|
|||||||
@Log(title = "考勤组基本信息", businessType = BusinessType.DELETE)
|
@Log(title = "考勤组基本信息", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{ids}")
|
@DeleteMapping("/{ids}")
|
||||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
@PathVariable("ids") Long[] ids) {
|
@PathVariable("ids") Long[] ids,Integer attendanceType) {
|
||||||
return toAjax(attendanceGroupService.deleteWithValidByIds(List.of(ids), true));
|
return toAjax(attendanceGroupService.deleteWithValidByIds(List.of(ids), true,attendanceType));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -30,7 +30,7 @@ public class AttendanceScheduleCycle extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 周期中的第几天(1开始)
|
* 周期中的第几天(1开始)
|
||||||
*/
|
*/
|
||||||
private Long dayNumber;
|
private Integer dayNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关联排班组id
|
* 关联排班组id
|
||||||
|
@@ -9,7 +9,8 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排班业务对象 attendance_arrangement
|
* 排班业务对象 attendance_arrangement
|
||||||
@@ -63,5 +64,7 @@ public class AttendanceArrangementBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long status;
|
private Long status;
|
||||||
|
|
||||||
|
// private List<>
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -7,7 +7,9 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
|
|||||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.dromara.property.domain.AttendanceShift;
|
||||||
import org.dromara.property.domain.AttendanceWeekSet;
|
import org.dromara.property.domain.AttendanceWeekSet;
|
||||||
|
import org.dromara.property.domain.AttendanceWeeksetShift;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -56,5 +58,9 @@ public class AttendanceGroupVo implements Serializable {
|
|||||||
|
|
||||||
List<AttendanceWeekSet> weekList;
|
List<AttendanceWeekSet> weekList;
|
||||||
|
|
||||||
|
List<AttendanceWeeksetShift> shiftList;
|
||||||
|
|
||||||
|
List<AttendanceShift> attendanceList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -23,7 +23,7 @@ public interface IAttendanceGroupService {
|
|||||||
* @param id 主键
|
* @param id 主键
|
||||||
* @return 考勤组基本信息
|
* @return 考勤组基本信息
|
||||||
*/
|
*/
|
||||||
AttendanceGroupVo queryById(Long id);
|
AttendanceGroupVo queryById(Long id,Integer attendanceType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询考勤组基本信息列表
|
* 分页查询考勤组基本信息列表
|
||||||
@@ -65,5 +65,5 @@ public interface IAttendanceGroupService {
|
|||||||
* @param isValid 是否进行有效性校验
|
* @param isValid 是否进行有效性校验
|
||||||
* @return 是否删除成功
|
* @return 是否删除成功
|
||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid,Integer attendanceType);
|
||||||
}
|
}
|
||||||
|
@@ -15,6 +15,7 @@ import org.dromara.property.domain.vo.AttendanceArrangementVo;
|
|||||||
import org.dromara.property.domain.AttendanceArrangement;
|
import org.dromara.property.domain.AttendanceArrangement;
|
||||||
import org.dromara.property.mapper.AttendanceArrangementMapper;
|
import org.dromara.property.mapper.AttendanceArrangementMapper;
|
||||||
import org.dromara.property.service.IAttendanceArrangementService;
|
import org.dromara.property.service.IAttendanceArrangementService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -33,6 +34,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
|||||||
|
|
||||||
private final AttendanceArrangementMapper baseMapper;
|
private final AttendanceArrangementMapper baseMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询排班
|
* 查询排班
|
||||||
*
|
*
|
||||||
@@ -90,6 +92,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
|||||||
* @param bo 排班
|
* @param bo 排班
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(AttendanceArrangementBo bo) {
|
public Boolean insertByBo(AttendanceArrangementBo bo) {
|
||||||
AttendanceArrangement add = MapstructUtils.convert(bo, AttendanceArrangement.class);
|
AttendanceArrangement add = MapstructUtils.convert(bo, AttendanceArrangement.class);
|
||||||
@@ -98,6 +101,12 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
|||||||
if (flag) {
|
if (flag) {
|
||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
}
|
}
|
||||||
|
//取出当前新增的排班的id
|
||||||
|
Long ArrangementId = add.getId();
|
||||||
|
//向排班人员表中插入排班人员信息
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -11,14 +11,11 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.property.domain.*;
|
import org.dromara.property.domain.*;
|
||||||
import org.dromara.property.domain.constant.StatusConstant;
|
import org.dromara.property.domain.constant.StatusConstant;
|
||||||
import org.dromara.property.mapper.AttendanceClockDateMapper;
|
import org.dromara.property.mapper.*;
|
||||||
import org.dromara.property.mapper.AttendanceFixedScheduleMapper;
|
|
||||||
import org.dromara.property.mapper.AttendanceWeekSetMapper;
|
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.property.domain.bo.AttendanceGroupBo;
|
import org.dromara.property.domain.bo.AttendanceGroupBo;
|
||||||
import org.dromara.property.domain.vo.AttendanceGroupVo;
|
import org.dromara.property.domain.vo.AttendanceGroupVo;
|
||||||
import org.dromara.property.mapper.AttendanceGroupMapper;
|
|
||||||
import org.dromara.property.service.IAttendanceGroupService;
|
import org.dromara.property.service.IAttendanceGroupService;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -27,6 +24,9 @@ import java.util.Map;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.dromara.property.domain.constant.StatusConstant.FIXEDSCHEDULE;
|
||||||
|
import static org.dromara.property.domain.constant.StatusConstant.SHIFTSCHEDULE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 考勤组基本信息Service业务层处理
|
* 考勤组基本信息Service业务层处理
|
||||||
*
|
*
|
||||||
@@ -44,6 +44,11 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
|
|
||||||
private final AttendanceClockDateMapper attendanceClockDateMapper;
|
private final AttendanceClockDateMapper attendanceClockDateMapper;
|
||||||
|
|
||||||
|
private final AttendanceScheduleCycleMapper attendanceScheduleCycleMapper;
|
||||||
|
|
||||||
|
private final AttendanceWeeksetShiftMapper attendanceWeeksetShiftMapper;
|
||||||
|
private final AttendanceShiftMapper attendanceShiftMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询考勤组基本信息
|
* 查询考勤组基本信息
|
||||||
*
|
*
|
||||||
@@ -51,8 +56,42 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
* @return 考勤组基本信息
|
* @return 考勤组基本信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AttendanceGroupVo queryById(Long id) {
|
public AttendanceGroupVo queryById(Long id, Integer attendanceType) {
|
||||||
return baseMapper.selectVoById(id);
|
//根据id参数查询考勤组表
|
||||||
|
AttendanceGroupVo vo = baseMapper.selectVoById(id);
|
||||||
|
//判断考勤是固定班制还是排班制
|
||||||
|
if (Objects.equals(attendanceType, FIXEDSCHEDULE)) {
|
||||||
|
//1.固定班制:
|
||||||
|
//1.1根据id参数查询考勤周期表
|
||||||
|
List<AttendanceWeekSet> weekSets = weekSetMapper.selectList(Wrappers.<AttendanceWeekSet>lambdaQuery().eq(AttendanceWeekSet::getGroupId, id));
|
||||||
|
//1.2根据id参数取出所有考勤周期id
|
||||||
|
List<Long> weekSetIds = weekSets.stream().map(AttendanceWeekSet::getId).toList();
|
||||||
|
//1.3根据考勤周期id查询出中间表
|
||||||
|
List<AttendanceWeeksetShift> weeksetShifts = attendanceWeeksetShiftMapper.selectList(Wrappers.<AttendanceWeeksetShift>lambdaQuery().in(AttendanceWeeksetShift::getWeekSetId, weekSetIds));
|
||||||
|
//1.4根据中间表的班次id查询出班次表id
|
||||||
|
List<Long> shiftIds = weeksetShifts.stream().map(AttendanceWeeksetShift::getShiftId).toList();
|
||||||
|
//1.5根据班次id查询出班次表
|
||||||
|
List<AttendanceShift> shifts = attendanceShiftMapper.selectList(Wrappers.<AttendanceShift>lambdaQuery().in(AttendanceShift::getId, shiftIds));
|
||||||
|
//1.6将查询后的数据封装到attendanceGroupVo中
|
||||||
|
vo.setAttendanceList(shifts);
|
||||||
|
} else if(Objects.equals(attendanceType, SHIFTSCHEDULE)) {
|
||||||
|
//2.排班制
|
||||||
|
//2.1根据id参数查询考勤周期表
|
||||||
|
List<AttendanceWeekSet> weekSets = weekSetMapper.selectList(Wrappers.<AttendanceWeekSet>lambdaQuery().eq(AttendanceWeekSet::getGroupId, id));
|
||||||
|
//2.2根据id参数取出所有考勤天数id
|
||||||
|
List<Long> weekSetIds = weekSets.stream().map(AttendanceWeekSet::getId).toList();
|
||||||
|
//2.3根据天数id查询出中间表
|
||||||
|
List<AttendanceScheduleCycle> scheduleCycles = attendanceScheduleCycleMapper.selectList(Wrappers.<AttendanceScheduleCycle>lambdaQuery().in(AttendanceScheduleCycle::getGroupId, weekSetIds));
|
||||||
|
//2.4根据中间表的班次id查询出班次表id
|
||||||
|
List<Long> scheduleCycleIds = scheduleCycles.stream().map(AttendanceScheduleCycle::getId).toList();
|
||||||
|
//2.5根据班次id查询出班次表
|
||||||
|
List<AttendanceShift> shifts = attendanceShiftMapper.selectList(Wrappers.<AttendanceShift>lambdaQuery().in(AttendanceShift::getId, scheduleCycleIds));
|
||||||
|
//2.6将查询后的数据封装到attendanceGroupVo中
|
||||||
|
vo.setAttendanceList(shifts);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -111,8 +150,9 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
//2.判断考勤是固定班制还是排班制
|
//判断考勤是固定班制还是排班制
|
||||||
if (Objects.equals(add.getAttendanceType(), StatusConstant.FIXEDSCHEDULE)) {
|
//2.固定班制
|
||||||
|
if (Objects.equals(add.getAttendanceType(), FIXEDSCHEDULE)) {
|
||||||
//2.1固定班制,向周期表插入数据
|
//2.1固定班制,向周期表插入数据
|
||||||
//拿到考勤组的id,遍历weekList
|
//拿到考勤组的id,遍历weekList
|
||||||
for (Integer week : bo.getWeekList()) {
|
for (Integer week : bo.getWeekList()) {
|
||||||
@@ -131,10 +171,8 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//todo: 法定节假日自动排休
|
//todo: 法定节假日自动排休
|
||||||
|
//2.3.新增打卡日期表
|
||||||
|
//2.3.1判断是必须打卡还是无需打卡
|
||||||
//4.新增打卡日期表
|
|
||||||
//4.1判断是必须打卡还是无需打卡
|
|
||||||
//(1)必须打卡,向打卡日期表中插入数据
|
//(1)必须打卡,向打卡日期表中插入数据
|
||||||
if (Objects.equals(bo.getMustNoCheck(), StatusConstant.MUSTCHECK)) {
|
if (Objects.equals(bo.getMustNoCheck(), StatusConstant.MUSTCHECK)) {
|
||||||
judgeDate(bo);
|
judgeDate(bo);
|
||||||
@@ -145,9 +183,23 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//3.排班制
|
||||||
if (Objects.equals(add.getAttendanceType(), StatusConstant.SHIFTSCHEDULE)) {
|
if (Objects.equals(add.getAttendanceType(), StatusConstant.SHIFTSCHEDULE)) {
|
||||||
//2.2排班制,向天数表中插入数据
|
//2.2排班制,向天数表中插入数据
|
||||||
AttendanceScheduleCycle attendanceScheduleCycle = new AttendanceScheduleCycle();
|
AttendanceScheduleCycle attendanceScheduleCycle = new AttendanceScheduleCycle();
|
||||||
|
//循环向周期表中插入数据
|
||||||
|
for (Integer week : bo.getWeekList()) {
|
||||||
|
attendanceScheduleCycle.setGroupId(add.getId());
|
||||||
|
attendanceScheduleCycle.setDayNumber(week);
|
||||||
|
}
|
||||||
|
//通过考勤组id拿到日期表的所有关联id
|
||||||
|
List<AttendanceScheduleCycle> scheduleCycles = attendanceScheduleCycleMapper.selectList(Wrappers.<AttendanceScheduleCycle>lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, add.getId()));
|
||||||
|
//2.3遍历日期表,向班次和周设置表的中间表插入数据
|
||||||
|
for (AttendanceScheduleCycle scheduleCycle : scheduleCycles) {
|
||||||
|
AttendanceWeeksetShift attendanceWeeksetShift = new AttendanceWeeksetShift();
|
||||||
|
attendanceWeeksetShift.setScheduleId(scheduleCycle.getId());
|
||||||
|
attendanceWeeksetShift.setShiftId(bo.getShiftId());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,6 +237,8 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
public Boolean updateByBo(AttendanceGroupBo bo) {
|
public Boolean updateByBo(AttendanceGroupBo bo) {
|
||||||
AttendanceGroup update = MapstructUtils.convert(bo, AttendanceGroup.class);
|
AttendanceGroup update = MapstructUtils.convert(bo, AttendanceGroup.class);
|
||||||
validEntityBeforeSave(update);
|
validEntityBeforeSave(update);
|
||||||
|
|
||||||
|
|
||||||
return baseMapper.updateById(update) > 0;
|
return baseMapper.updateById(update) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,10 +256,31 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService {
|
|||||||
* @param isValid 是否进行有效性校验
|
* @param isValid 是否进行有效性校验
|
||||||
* @return 是否删除成功
|
* @return 是否删除成功
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid,Integer attendanceType) {
|
||||||
|
//判断删除固定班次还是排班制
|
||||||
|
if (Objects.equals(attendanceType, FIXEDSCHEDULE)){
|
||||||
|
//1.固定班制
|
||||||
|
//根据id删除周期表中的数据
|
||||||
|
weekSetMapper.delete(Wrappers.<AttendanceWeekSet>lambdaQuery().in(AttendanceWeekSet::getGroupId, ids));
|
||||||
|
//根据id查询出考勤周期id
|
||||||
|
List<Long> weekSetIds = weekSetMapper.selectList(Wrappers.<AttendanceWeekSet>lambdaQuery().in(AttendanceWeekSet::getGroupId, ids)).stream().map(AttendanceWeekSet::getId).toList();
|
||||||
|
//根据考勤周期id删除中间表数据
|
||||||
|
attendanceWeeksetShiftMapper.delete(Wrappers.<AttendanceWeeksetShift>lambdaQuery().in(AttendanceWeeksetShift::getWeekSetId, weekSetIds));
|
||||||
|
|
||||||
|
} else if (Objects.equals(attendanceType, SHIFTSCHEDULE)) {
|
||||||
|
//2.排班制
|
||||||
|
//根据id删除考勤天数的数据
|
||||||
|
attendanceScheduleCycleMapper.delete(Wrappers.<AttendanceScheduleCycle>lambdaQuery().in(AttendanceScheduleCycle::getGroupId, ids));
|
||||||
|
//根据id查询出考勤天数的所有id
|
||||||
|
List<Long> scheduleCycleIds = attendanceScheduleCycleMapper.selectList(Wrappers.<AttendanceScheduleCycle>lambdaQuery().in(AttendanceScheduleCycle::getGroupId, ids)).stream().map(AttendanceScheduleCycle::getId).toList();
|
||||||
|
//根据考勤天数id删除中间表数据
|
||||||
|
attendanceWeeksetShiftMapper.delete(Wrappers.<AttendanceWeeksetShift>lambdaQuery().in(AttendanceWeeksetShift::getScheduleId, scheduleCycleIds));
|
||||||
|
}
|
||||||
|
|
||||||
if (isValid) {
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验,判断考勤组下是否有数据,有数据则不做删除
|
||||||
}
|
}
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,36 @@
|
|||||||
|
package org.dromara.property.utils;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 法定节假日工具类
|
||||||
|
*/
|
||||||
|
public class HolidayUtil {
|
||||||
|
|
||||||
|
public HolidayUtil() throws Exception {
|
||||||
|
// 调用jiejiariapi.com API获取节假日信息
|
||||||
|
String baiduUrl = "https://api.jiejiariapi.com/v1/holidays/2025";
|
||||||
|
JSONObject jiejiariapiResponse = getJsonFromUrl(baiduUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static JSONObject getJsonFromUrl(String urlString) throws Exception {
|
||||||
|
URL url = new URL(urlString);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
|
connection.setRequestMethod("GET");
|
||||||
|
connection.connect();
|
||||||
|
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
|
||||||
|
StringBuilder response = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
response.append(line);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
|
||||||
|
return new JSONObject(response.toString());
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user