Explorar el Código

居民快递收获地址判增加默认地址置顶

LiTaohong hace 5 años
padre
commit
5c1f0eea5d

+ 5 - 23
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/expressage/WlyyPatientExpressageAddrEndpoint.java

@ -43,8 +43,8 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        StringBuilder log = new StringBuilder();
        StringBuilder log = new StringBuilder();
        WlyyPatientExpressageAddrDO addrDO = wlyyPatientExpressageAddrService.createAddr(jsonData,log);
        if(!StringUtils.isEmpty(log.toString())){
        WlyyPatientExpressageAddrDO addrDO = wlyyPatientExpressageAddrService.createAddr(jsonData, log);
        if (!StringUtils.isEmpty(log.toString())) {
            return failed(log.toString());
            return failed(log.toString());
        }
        }
        return success(addrDO);
        return success(addrDO);
@ -64,9 +64,9 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
    public Envelop setAddrDefault(
    public Envelop setAddrDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient,
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient,
            @ApiParam(name = "addrId", value = "当前地址id", required = true) @RequestParam(value = "addrId") String addrId) {
            @ApiParam(name = "addrId", value = "当前地址id", required = true) @RequestParam(value = "addrId") String addrId) {
        StringBuilder error = new StringBuilder();
        wlyyPatientExpressageAddrService.setAddrDefault(patient,addrId,error);
        if(!StringUtils.isEmpty(error.toString())){
        StringBuilder error = null;
        wlyyPatientExpressageAddrService.setAddrDefault(patient, addrId, error);
        if (null != error && !StringUtils.isEmpty(error.toString())) {
            return failed("设置默认地址失败:" + error.toString());
            return failed("设置默认地址失败:" + error.toString());
        }
        }
        return success("设置默认地址成功");
        return success("设置默认地址成功");
@ -93,24 +93,6 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
        return success(wlyyPatientExpressageAddr, WlyyPatientExpressageAddrVO.class);
        return success(wlyyPatientExpressageAddr, WlyyPatientExpressageAddrVO.class);
    }
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<WlyyPatientExpressageAddrVO> page(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<WlyyPatientExpressageAddrDO> wlyyPatientExpressageAddrs = wlyyPatientExpressageAddrService.search(fields, filters, sorts, page, size);
        int count = (int) wlyyPatientExpressageAddrService.getCount(filters);
        return success(wlyyPatientExpressageAddrs, count, page, size, WlyyPatientExpressageAddrVO.class);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.LIST)
    @GetMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.LIST)
    @ApiOperation(value = "获取列表")
    @ApiOperation(value = "获取列表")
    public ListEnvelop<WlyyPatientExpressageAddrVO> list(
    public ListEnvelop<WlyyPatientExpressageAddrVO> list(

+ 6 - 0
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/dao/WlyyPatientExpressageAddrDao.java

@ -5,6 +5,8 @@ import org.springframework.data.repository.PagingAndSortingRepository;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import java.util.List;
/**
/**
 * 
 * 
 * 居民收获地址 数据库访问层
 * 居民收获地址 数据库访问层
@ -20,4 +22,8 @@ import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
public interface WlyyPatientExpressageAddrDao extends PagingAndSortingRepository<WlyyPatientExpressageAddrDO, String>, JpaSpecificationExecutor<WlyyPatientExpressageAddrDO>  {
public interface WlyyPatientExpressageAddrDao extends PagingAndSortingRepository<WlyyPatientExpressageAddrDO, String>, JpaSpecificationExecutor<WlyyPatientExpressageAddrDO>  {
    boolean existsByPatientAndIsDefault(String patient,Integer isDefault);
    boolean existsByPatientAndIsDefault(String patient,Integer isDefault);
    List<WlyyPatientExpressageAddrDO> queryByPatientAndIsDefault(String patient,Integer isDefault);
    List<WlyyPatientExpressageAddrDO> queryByPatient(String patient);
}
}

+ 18 - 18
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/service/WlyyPatientExpressageAddrService.java

@ -10,9 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.List;
/**
/**
 * 居民收获地址服务service
 * 居民收获地址服务service
@ -44,17 +42,10 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient
        try {
        try {
            addrDO = EntityUtils.jsonToEntity(jsonData, WlyyPatientExpressageAddrDO.class);
            addrDO = EntityUtils.jsonToEntity(jsonData, WlyyPatientExpressageAddrDO.class);
        } catch (Exception e) {
        } catch (Exception e) {
            error = new StringBuilder();
            error.append(e.getMessage());
            error.append(e.getMessage());
            return null;
            return null;
        }
        }
      /*  StringBuilder sb = new StringBuilder();
        String address = addrDO.getAddress();
        if(address.contains(addrDO.getProvinceName())){
            sb.append(address.substring(addrDO.getProvinceName().length(),address.length() - 1));
        }
        if(address.contains(addrDO.getProvinceName().toUpperCase() )){
            sb.append(address.substring(addrDO.getProvinceName().length(),address.length() - 1));
        }*/
        this.save(addrDO);
        this.save(addrDO);
        return addrDO;
        return addrDO;
    }
    }
@ -66,6 +57,7 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient
        }
        }
        return patientExpressageAddrDao.existsByPatientAndIsDefault(patient,1);
        return patientExpressageAddrDao.existsByPatientAndIsDefault(patient,1);
     }
     }
    /**
    /**
     * 将地址设置为默认地址
     * 将地址设置为默认地址
     * @param id
     * @param id
@ -73,17 +65,25 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient
     */
     */
    @Transactional(rollbackFor = Exception.class)
    @Transactional(rollbackFor = Exception.class)
    public void setAddrDefault(String patient,String id,StringBuilder error){
    public void setAddrDefault(String patient,String id,StringBuilder error){
        if(hasDefault(patient)){
            error.append("当前居民已存在默认地址!");
            return ;
        }
        WlyyPatientExpressageAddrDO addrDO = patientExpressageAddrDao.findOne(id);
        WlyyPatientExpressageAddrDO addrDO = patientExpressageAddrDao.findOne(id);
        if(null == addrDO){
        if(null == addrDO){
            error = new StringBuilder();
            error.append("当前地址不存在!");
            error.append("当前地址不存在!");
            return ;
            return ;
        }
        }
        addrDO.setIsDefault(1);
        this.save(addrDO);
        boolean defaultAddrExist = patientExpressageAddrDao.existsByPatientAndIsDefault(patient,1);
        if(defaultAddrExist){
            List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(patient,1);
            WlyyPatientExpressageAddrDO defaultAddrDO = defaultAddrDOList.get(0);
            if(StringUtils.equals(addrDO.getId(),defaultAddrDO.getId())){
                return;
            }
            defaultAddrDO.setIsDefault(0);
            addrDO.setIsDefault(1);
            this.save(defaultAddrDO);
            this.save(addrDO);
            error.append("当前居民已存在默认地址!");
            return ;
        }
    }
    }
}
}