Search in sources :

Example 6 with DiscGroup

use of mingzuozhibi.persist.disc.DiscGroup in project mzzb-server by mingzuozhibi.

the class DiscGroupItemsController method dropDiscs.

@Transactional
@PreAuthorize("hasRole('BASIC')")
@DeleteMapping(value = "/api/discGroups/{id}/discs/{discId}", produces = MEDIA_TYPE)
public synchronized String dropDiscs(@PathVariable("id") Long id, @PathVariable("discId") Long discId) {
    DiscGroup discGroup = dao.get(DiscGroup.class, id);
    if (discGroup == null) {
        if (LOGGER.isWarnEnabled()) {
            warnRequest("[从列表移除碟片失败][指定的列表Id不存在][Id={}]", id);
        }
        return errorMessage("指定的列表Id不存在");
    }
    Disc disc = discGroup.getDiscs().stream().filter(t -> t.getId().equals(discId)).findFirst().orElse(null);
    if (disc == null) {
        if (LOGGER.isWarnEnabled()) {
            warnRequest("[从列表移除碟片失败][指定的碟片Id不存在于列表][Id={}]", discId);
        }
        return errorMessage("指定的碟片Id不存在于列表");
    }
    discGroup.getDiscs().remove(disc);
    jmsMessage.info("[用户=%s][移除碟片成功][列表=%s][碟片=%s]", getUserName(), discGroup.getTitle(), disc.getLogName());
    return objectResult(disc.toJSON());
}
Also used : Disc(mingzuozhibi.persist.disc.Disc) DiscGroup(mingzuozhibi.persist.disc.DiscGroup) PreAuthorize(org.springframework.security.access.prepost.PreAuthorize) Transactional(org.springframework.transaction.annotation.Transactional)

Example 7 with DiscGroup

use of mingzuozhibi.persist.disc.DiscGroup in project mzzb-server by mingzuozhibi.

the class DiscGroupController method findAll.

@Transactional
@GetMapping(value = "/api/discGroups", produces = MEDIA_TYPE)
public String findAll(@RequestParam(defaultValue = "false") boolean hasPrivate) {
    Criteria criteria = dao.session().createCriteria(DiscGroup.class);
    if (!hasPrivate) {
        criteria.add(ne("viewType", ViewType.PrivateList));
    }
    @SuppressWarnings("unchecked") List<DiscGroup> discGroups = criteria.list();
    JSONArray array = discGroups.stream().map(this::toJSON).collect(toJSONArray());
    return objectResult(array);
}
Also used : JSONArray(org.json.JSONArray) DiscGroup(mingzuozhibi.persist.disc.DiscGroup) Criteria(org.hibernate.Criteria) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

DiscGroup (mingzuozhibi.persist.disc.DiscGroup)7 Transactional (org.springframework.transaction.annotation.Transactional)7 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)5 Disc (mingzuozhibi.persist.disc.Disc)3 JSONObject (org.json.JSONObject)3 Criteria (org.hibernate.Criteria)1 JSONArray (org.json.JSONArray)1