Commit eb72e0bc authored by lisong's avatar lisong

更新接口

parent 8bd45e87
......@@ -28,7 +28,7 @@ public class HouseholdPvDto extends BaseDto {
private String number;
@ApiModelProperty(value = "厂商")
private String platformCompanyId;
private Long platformCompanyId;
@ApiModelProperty(value = "性别")
private String sex;
......
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class HouseholdPvImport {
@ColumnWidth(15)
@ExcelProperty(value = "所属场站", index = 0)
private String platformCompanyId;
@ColumnWidth(15)
@ExcelProperty(value = "户号", index = 1)
private String number;
@ColumnWidth(15)
@ExcelProperty(value = "户主姓名", index = 2)
private String name;
@ColumnWidth(15)
@ExcelProperty(value = "性别", index = 3)
private String sex;
@ColumnWidth(15)
@ExcelProperty(value = "身份证号", index = 4)
private String idNumber;
@ColumnWidth(20)
@ExcelProperty(value = "证件过期时间", index = 5)
private String expiryTime;
@ColumnWidth(15)
@ExcelProperty(value = "签发机关", index = 6)
private String issuingAuthority;
@ColumnWidth(15)
@ExcelProperty(value = "户籍地址", index = 7)
private String residenceAddress;
@ColumnWidth(15)
@ExcelProperty(value = "手机号码", index = 8)
private String phone;
@ColumnWidth(15)
@ExcelProperty(value = "居住地", index = 9)
private String address;
@ColumnWidth(15)
@ExcelProperty(value = "居住地邮编", index = 10)
private String postcode;
@ColumnWidth(15)
@ExcelProperty(value = "送达地址", index = 11)
private String serviceAddress;
}
......@@ -38,7 +38,7 @@ public class HouseholdPv extends BaseEntity {
* 厂商
*/
@TableField("platform_company_id")
private String platformCompanyId;
private Long platformCompanyId;
/**
* 性别
......
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 户用光伏表 Mapper 接口
......@@ -11,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface HouseholdPvMapper extends BaseMapper<HouseholdPv> {
List<HouseholdPvImport> selectExportList(@Param("dto")HouseholdPvDto dto );
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport;
import java.util.List;
/**
* 户用光伏表接口类
*
......@@ -9,4 +14,9 @@ package com.yeejoin.amos.boot.module.jxiop.api.service;
*/
public interface IHouseholdPvService {
void importData(List<HouseholdPvImport> list);
List<HouseholdPvImport> selectExportList(HouseholdPvDto dto);
void deleteBatch(List<Long> ids);
}
......@@ -2,4 +2,21 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvMapper">
<select id="selectExportList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport">
SELECT * FROM `household_pv` hp
<where>
<if test="dto.name != null and dto.name != ''">
and hp.name like concat('%',#{dto.name},'%')
</if>
<if test="dto.platformCompanyId != null and dto.platformCompanyId != ''">
and hp.platform_company_id = #{dto.platformCompanyId}
</if>
<if test="dto.residenceAddress != null and dto.residenceAddress != ''">
and hp.residence_address like concat('%',#{residenceAddress},'%')
</if>
<if test="dto.number != null and dto.number != ''">
and hp.number like concat('%',#{dto.number},'%')
</if>
</where>
</select>
</mapper>
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.io.ClassPathResource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvServiceImpl;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
......@@ -31,6 +58,9 @@ public class HouseholdPvController extends BaseController {
@Autowired
HouseholdPvServiceImpl householdPvServiceImpl;
@Autowired
IHouseholdPvService iHouseholdPvService;
/**
* 新增户用光伏表
*
......@@ -53,7 +83,7 @@ public class HouseholdPvController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新户用光伏表", notes = "根据sequenceNbr更新户用光伏表")
public ResponseModel<HouseholdPvDto> updateBySequenceNbrHouseholdPv(@RequestBody HouseholdPvDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
public ResponseModel<HouseholdPvDto> updateBySequenceNbrHouseholdPv(@RequestBody HouseholdPvDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvServiceImpl.updateWithModel(model));
}
......@@ -67,7 +97,7 @@ public class HouseholdPvController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除户用光伏表", notes = "根据sequenceNbr删除户用光伏表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvServiceImpl.removeById(sequenceNbr));
}
......@@ -79,7 +109,7 @@ public class HouseholdPvController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个户用光伏表", notes = "根据sequenceNbr查询单个户用光伏表")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个户用光伏表", notes = "根据sequenceNbr查询单个户用光伏表")
public ResponseModel<HouseholdPvDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvServiceImpl.queryBySeq(sequenceNbr));
}
......@@ -92,14 +122,15 @@ public class HouseholdPvController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "户用光伏表分页查询", notes = "户用光伏表分页查询")
public ResponseModel<Page<HouseholdPvDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<HouseholdPvDto> page = new Page<HouseholdPvDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvServiceImpl.queryForHouseholdPvPage(page));
@PostMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "户用光伏表分页查询", notes = "户用光伏表分页查询")
public ResponseModel<IPage<HouseholdPv>> queryForPage(@RequestParam(value = "current") String current,
@RequestParam(value = "size") String size,
HouseholdPvDto dto) {
Page<HouseholdPv> page = new Page<>();
page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size));
return ResponseHelper.buildResponse(householdPvServiceImpl.queryForHouseholdPvPage(page, dto));
}
/**
......@@ -108,9 +139,98 @@ public class HouseholdPvController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "户用光伏表列表全部数据查询", notes = "户用光伏表列表全部数据查询")
@ApiOperation(httpMethod = "GET", value = "户用光伏表列表全部数据查询", notes = "户用光伏表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvServiceImpl.queryForHouseholdPvList());
}
@GetMapping(value = "/exportTemplates")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "模板下载", notes = "模板下载")
public void exportTemplates(HttpServletResponse response) {
DataInputStream in = null;
OutputStream out = null;
try {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("模板.xlsx", "UTF-8"));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
FileInputStream fileInputStream = new FileInputStream(new File("amos-boot-system-jxiop/amos-boot-module-jxiop-biz/src/main/resource/templates/householdTemplates.xls"));
in = new DataInputStream(fileInputStream);
out = response.getOutputStream();
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
out.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
response.reset();
} finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
@GetMapping(value = "/importData")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "模板下载", notes = "模板下载")
public ResponseModel<Object> importData(MultipartFile file) {
try {
ExcelReader reader = EasyExcelFactory.read(file.getInputStream()).build();
List<HouseholdPvImport> list = ExcelUtil.readExcel(reader, HouseholdPvImport.class, 0);
iHouseholdPvService.importData(list);
} catch (IOException e) {
e.printStackTrace();
throw new BadRequest(e.getMessage());
}
return ResponseHelper.buildResponse("ok");
}
@GetMapping(value = "/exportData")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "数据导出", notes = "数据导出")
public void exportData(HttpServletResponse response, HouseholdPvDto dto) {
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("组织机构信息.xlsx", "UTF-8"));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
ExcelWriter writer = EasyExcelFactory.write(response.getOutputStream(), HouseholdPvImport.class).build();
WriteSheet sheet = EasyExcelFactory.writerSheet(0, String.valueOf(System.currentTimeMillis())).build();
List<HouseholdPvImport> list = iHouseholdPvService.selectExportList(dto);
writer.write(list, sheet);
writer.finish();
} catch (Exception e) {
e.printStackTrace();
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteBatch")
@ApiOperation(httpMethod = "POST", value = "批量删除", notes = "批量删除")
public ResponseModel<Object> deleteBatch(@RequestBody List<Long> ids) {
iHouseholdPvService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.enums.ExcelSelectData;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTimeUtils;
import org.joda.time.LocalDateTime;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -17,11 +35,29 @@ import java.util.List;
*/
@Service
public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto,HouseholdPv,HouseholdPvMapper> implements IHouseholdPvService {
@Autowired
HouseholdPvMapper householdPvMapper;
/**
* 分页查询
*/
public Page<HouseholdPvDto> queryForHouseholdPvPage(Page<HouseholdPvDto> page) {
return this.queryForPage(page, null, false);
public IPage<HouseholdPv> queryForHouseholdPvPage(Page<HouseholdPv> page, HouseholdPvDto dto) {
LambdaQueryWrapper<HouseholdPv> lambda = new QueryWrapper<HouseholdPv>().lambda();
if (!ObjectUtils.isEmpty(dto.getName())){
lambda.like(HouseholdPv::getName, dto.getName());
}
if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())){
lambda.eq(HouseholdPv::getPlatformCompanyId, dto.getPlatformCompanyId());
}
if (!ObjectUtils.isEmpty(dto.getAddress())){
lambda.like(HouseholdPv::getAddress, dto.getAddress());
}
if (!ObjectUtils.isEmpty(dto.getNumber())){
lambda.like(HouseholdPv::getNumber, dto.getNumber());
}
return householdPvMapper.selectPage(page, lambda);
}
/**
......@@ -30,4 +66,34 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto,Household
public List<HouseholdPvDto> queryForHouseholdPvList() {
return this.queryForList("" , false);
}
@Override
public void importData(List<HouseholdPvImport> list) {
ArrayList<HouseholdPv> householdPvs = new ArrayList<>();
list.forEach(item ->{
HouseholdPv householdPv = new HouseholdPv();
householdPv.setCreateTime(LocalDateTime.now().toDate());
if (!ObjectUtils.isEmpty(item.getExpiryTime())){
try {
Date date = DateUtils.dateParse(item.getExpiryTime(), DateUtils.DATE_PATTERN);
householdPv.setExpiryTime(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
BeanUtils.copyProperties(item,householdPv);
householdPvs.add(householdPv);
});
this.saveBatch(householdPvs);
}
@Override
public List<HouseholdPvImport> selectExportList(HouseholdPvDto dto) {
return householdPvMapper.selectExportList(dto);
}
@Override
public void deleteBatch(List<Long> ids) {
householdPvMapper.deleteBatchIds(ids);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment