Commit d7eab8e8 authored by 朱晨阳's avatar 朱晨阳

修改一个农户对应多个场站删除问题

parent 8a58c918
...@@ -34,12 +34,18 @@ public interface PeasantHouseholdMapper extends BaseMapper<PeasantHousehold> { ...@@ -34,12 +34,18 @@ public interface PeasantHouseholdMapper extends BaseMapper<PeasantHousehold> {
List<Map<String,Object>> selectUserIsHouse(String telephone); List<Map<String,Object>> selectUserIsHouse(String telephone);
Integer selectIsAllRevoke(String amosUserId); Integer selectIsAllRevoke(String peasantHouseholdNo);
void deleteHphByUserId(String userId); void deleteHphByUserId(String userId);
void deletePauByUserId(String userId); void deletePauByUserId(String userId);
void deleteAliByUserId(String userId); void deleteAliByUserId(String userId);
void deleteHhcByUserId(String userId); void deleteHhcByUserId(String userId);
Integer selectSurveyOrNot(String sequenceNbr); PeasantHousehold selectReview(String sequenceNbr);
Integer selectPowerStationNumber(String amosUserId);
void deleteHphByNo(String peasantHouseholdNo);
void deleteHhcByNo(String peasantHouseholdNo);
} }
...@@ -81,19 +81,19 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb ...@@ -81,19 +81,19 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb
`user`.MOBILE = #{telephone} `user`.MOBILE = #{telephone}
</select> </select>
<select id="selectSurveyOrNot" resultType="Integer"> <select id="selectReview" resultType="com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold">
select survey_or_not from hygf_peasant_household where sequence_nbr = #{sequenceNbr} select review, amos_user_id from hygf_peasant_household where sequence_nbr = #{sequenceNbr}
</select> </select>
<select id="selectIsAllRevoke" resultType="Integer"> <select id="selectIsAllRevoke" resultType="Integer">
SELECT SELECT
count(*) = ( SELECT count(*) FROM hygf_household_contract WHERE project_user_id = #{amosUserId} and initiate_status = '已发起' AND STATUS = '已作废' ) count(*) = ( SELECT count(*) FROM hygf_household_contract WHERE peasant_household_number = #{peasantHouseholdNo} and initiate_status = '已发起' AND STATUS = '已作废' )
FROM FROM
hygf_household_contract hygf_household_contract
WHERE WHERE
project_user_id = #{amosUserId} and initiate_status = '已发起' peasant_household_number = #{peasantHouseholdNo} and initiate_status = '已发起'
</select> </select>
<select id="deleteHphByUserId"> <select id="deleteHphByUserId">
...@@ -112,4 +112,16 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb ...@@ -112,4 +112,16 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb
DELETE FROM hygf_household_contract WHERE project_user_id=#{userId} DELETE FROM hygf_household_contract WHERE project_user_id=#{userId}
</select> </select>
<select id="selectPowerStationNumber" resultType="Integer">
select count(*) from hygf_peasant_household where amos_user_id = #{amosUserId}
</select>
<select id="deleteHphByNo">
DELETE FROM hygf_peasant_household WHERE peasant_household_no=#{peasantHouseholdNo}
</select>
<select id="deleteHhcByNo">
DELETE FROM hygf_household_contract WHERE peasant_household_number=#{peasantHouseholdNo}
</select>
</mapper> </mapper>
...@@ -283,13 +283,13 @@ public class PeasantHouseholdController extends BaseController { ...@@ -283,13 +283,13 @@ public class PeasantHouseholdController extends BaseController {
/** /**
* 根据sequenceNbr和userId删除用户信息 * 根据sequenceNbr和userId删除用户信息
* sequenceNbr 唯一标识 * sequenceNbr 唯一标识
* @param userId 用户id * @param peasantHouseholdNo 电站编号
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}/{userId}") @DeleteMapping(value = "/{sequenceNbr}/{peasantHouseholdNo}")
@ApiOperation(httpMethod = "DELETE",value = "根据userId删除用户信息和合同", notes = "根据userId删除用户信息和合同") @ApiOperation(httpMethod = "DELETE",value = "根据场站编号删除用户信息和合同", notes = "根据场站编号删除用户信息和合同")
public ResponseModel<Boolean> deleteUser(@PathVariable String sequenceNbr, @PathVariable String userId) { public ResponseModel<Boolean> deleteUser(@PathVariable String sequenceNbr, @PathVariable String peasantHouseholdNo) {
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.deleteUser(sequenceNbr, userId)); return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.deleteUser(sequenceNbr, peasantHouseholdNo));
} }
} }
...@@ -239,7 +239,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -239,7 +239,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
List<PeasantHousehold> newRecords = records.stream().map(item -> { List<PeasantHousehold> newRecords = records.stream().map(item -> {
// 查询该条数据能否被删除, 0不能删除, 1可以删除 // 查询该条数据能否被删除, 0不能删除, 1可以删除
item.setIsAllRevoke(peasantHouseholdMapper.selectIsAllRevoke(item.getAmosUserId())); item.setIsAllRevoke(peasantHouseholdMapper.selectIsAllRevoke(item.getPeasantHouseholdNo()));
if(item.getSurveyOrNot() != null){ if(item.getSurveyOrNot() != null){
...@@ -795,37 +795,45 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -795,37 +795,45 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
} }
@Override @Override
public Boolean deleteUser(String sequenceNbr, String userId) { public Boolean deleteUser(String sequenceNbr, String peasantHouseholdNo) {
try { // try {
// 根据sequenceNbr获取农户勘察状态 // 根据sequenceNbr获取农户勘察状态
Integer surveyOrNot = peasantHouseholdMapper.selectSurveyOrNot(sequenceNbr); PeasantHousehold peasantHousehold = peasantHouseholdMapper.selectReview(sequenceNbr);
if(surveyOrNot != 0) { if(peasantHousehold.getReview() != 0) {
throw new BadRequest("该用户已勘察, 不允许删除!"); throw new BadRequest("该电站已发起流程, 无法删除!");
} }
// 查询该条数据能否被删除, 0不能删除, 1可以删除 // 查询该条数据能否被删除, 0不能删除, 1可以删除
Integer isAllRevok = peasantHouseholdMapper.selectIsAllRevoke(userId); Integer isAllRevok = peasantHouseholdMapper.selectIsAllRevoke(peasantHouseholdNo);
if(isAllRevok != 1) { if(isAllRevok != 1) {
throw new BadRequest("该用户有未完成的任务, 不允许删除!"); throw new BadRequest("该用户有未完成的任务, 无法删除!");
} }
// 查询当前用户名下的电站数量
// 删除hygf_peasant_household表中数据 Integer powerStationNumber = peasantHouseholdMapper.selectPowerStationNumber(peasantHousehold.getAmosUserId());
peasantHouseholdMapper.deleteHphByUserId(userId);
// 删除privilege_agency_user表中数据 if(powerStationNumber > 1) {
peasantHouseholdMapper.deletePauByUserId(userId); // 删除hygf_peasant_household表中数据
// 删除auth_login_info表中数据 peasantHouseholdMapper.deleteHphByNo(peasantHouseholdNo);
peasantHouseholdMapper.deleteAliByUserId(userId); // 删除hygf_household_contract表中数据
// 删除hygf_household_contract表中数据 peasantHouseholdMapper.deleteHhcByNo(peasantHouseholdNo);
peasantHouseholdMapper.deleteHhcByUserId(userId); }else {
// 删除hygf_peasant_household表中数据
peasantHouseholdMapper.deleteHphByUserId(peasantHousehold.getAmosUserId());
// 删除privilege_agency_user表中数据
peasantHouseholdMapper.deletePauByUserId(peasantHousehold.getAmosUserId());
// 删除auth_login_info表中数据
peasantHouseholdMapper.deleteAliByUserId(peasantHousehold.getAmosUserId());
// 删除hygf_household_contract表中数据
peasantHouseholdMapper.deleteHhcByUserId(peasantHousehold.getAmosUserId());
}
return true; return true;
} catch (Exception e) { // } catch (Exception e) {
throw new BadRequest("删除失败!" + e.getMessage()); // throw new BadRequest("删除失败!" + e.getMessage());
} // }
} }
......
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