Commit 1166d133 authored by chenzhao's avatar chenzhao

Merge remote-tracking branch 'origin/developer' into developer

parents 3e416f24 365ecc03
......@@ -203,4 +203,10 @@ public class PeasantHousehold extends BaseEntity {
@TableField(exist = false,typeHandler = FastjsonTypeHandler.class)
private List<String> projectAddressText;
/**
* 当前农户下所有的合同是否已废弃, 1(全部已废弃), 0(未全部废弃)
*/
@TableField(exist = false)
private Integer isAllRevoke;
}
......@@ -35,4 +35,13 @@ public interface PeasantHouseholdMapper extends BaseMapper<PeasantHousehold> {
List<Map<String,Object>> selectUserIsHouse(String telephone);
Integer selectIsAllRevoke(String amosUserId);
void deleteHphByUserId(String userId);
void deletePauByUserId(String userId);
void deleteAliByUserId(String userId);
void deleteHhcByUserId(String userId);
Integer selectSurveyOrNot(String sequenceNbr);
}
......@@ -16,4 +16,6 @@ public interface IPeasantHouseholdService {
List<PeasantHousehold> getInfoByIds(String ids);
Boolean deleteUser(String sequenceNbr, String userId);
}
......@@ -77,4 +77,35 @@ and hygf_document_station.station_id is not null
`user`.MOBILE = #{telephone}
</select>
<select id="selectSurveyOrNot" resultType="Integer">
select survey_or_not from hygf_peasant_household where sequence_nbr = #{sequenceNbr}
</select>
<select id="selectIsAllRevoke" resultType="Integer">
SELECT
count(*) = ( SELECT count(*) FROM hygf_household_contract WHERE project_user_id = #{amosUserId} and initiate_status = '已发起' AND STATUS = '已作废' )
FROM
hygf_household_contract
WHERE
project_user_id = #{amosUserId} and initiate_status = '已发起'
</select>
<select id="deleteHphByUserId">
DELETE FROM hygf_peasant_household WHERE amos_user_id=#{userId}
</select>
<select id="deletePauByUserId">
DELETE FROM privilege_agency_user WHERE USER_ID=#{userId}
</select>
<select id="deleteAliByUserId">
DELETE FROM auth_login_info WHERE USER_ID=#{userId}
</select>
<select id="deleteHhcByUserId">
DELETE FROM hygf_household_contract WHERE project_user_id=#{userId}
</select>
</mapper>
......@@ -279,5 +279,16 @@ public class PeasantHouseholdController extends BaseController {
}
/**
* 根据sequenceNbr和userId删除用户信息
* sequenceNbr 唯一标识
* @param userId 用户id
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}/{userId}")
@ApiOperation(httpMethod = "DELETE",value = "根据userId删除用户信息和合同", notes = "根据userId删除用户信息和合同")
public ResponseModel<Boolean> deleteUser(@PathVariable String sequenceNbr, @PathVariable String userId) {
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.deleteUser(sequenceNbr, userId));
}
}
......@@ -244,6 +244,10 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
List<PeasantHousehold> newRecords = records.stream().map(item -> {
// 查询该条数据能否被删除, 0不能删除, 1可以删除
item.setIsAllRevoke(peasantHouseholdMapper.selectIsAllRevoke(item.getAmosUserId()));
if(item.getSurveyOrNot() != null){
if (item.getSurveyOrNot() == 0) {
item.setSurveyOrNotText("待勘察");
......@@ -790,4 +794,40 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
return peasantHouseholds;
}
@Override
public Boolean deleteUser(String sequenceNbr, String userId) {
try {
// 根据sequenceNbr获取农户勘察状态
Integer surveyOrNot = peasantHouseholdMapper.selectSurveyOrNot(sequenceNbr);
if(surveyOrNot != 0) {
throw new BadRequest("该用户已勘察, 不允许删除!");
}
// 查询该条数据能否被删除, 0不能删除, 1可以删除
Integer isAllRevok = peasantHouseholdMapper.selectIsAllRevoke(userId);
if(isAllRevok != 1) {
throw new BadRequest("该用户有未完成的任务, 不允许删除!");
}
// 删除hygf_peasant_household表中数据
peasantHouseholdMapper.deleteHphByUserId(userId);
// 删除privilege_agency_user表中数据
peasantHouseholdMapper.deletePauByUserId(userId);
// 删除auth_login_info表中数据
peasantHouseholdMapper.deleteAliByUserId(userId);
// 删除hygf_household_contract表中数据
peasantHouseholdMapper.deleteHhcByUserId(userId);
return true;
} catch (Exception e) {
throw new BadRequest("删除失败!");
}
}
}
\ 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