Commit 44e4cedd authored by 廖旭伟's avatar 廖旭伟

增加用户单事项取消收藏接口

parent 02231c0e
package com.mortals.xhx.module.user.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.site.model.SiteMatterEntity;
import com.mortals.xhx.module.user.model.UserCollectEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -9,6 +14,12 @@ import java.util.List;
* @author zxfei
* @date 2023-03-09
*/
@Data
public class UserCollectVo extends BaseEntityLong {
private Long matterId;
/** 材料数量 */
private Integer datumCount = 0;
/** 浏览次数 */
private Long viewsCount = 0l;
}
\ No newline at end of file
package com.mortals.xhx.module.user.service.impl;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.util.DataUtil;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.model.MatterDatumQuery;
import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import com.mortals.xhx.module.matter.service.MatterService;
import com.mortals.xhx.module.site.model.SiteMatterEntity;
import com.mortals.xhx.module.site.model.SiteMatterQuery;
import com.mortals.xhx.module.site.service.SiteMatterService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -6,6 +18,9 @@ import com.mortals.framework.model.Context;
import com.mortals.xhx.module.user.dao.UserCollectDao;
import com.mortals.xhx.module.user.model.UserCollectEntity;
import com.mortals.xhx.module.user.service.UserCollectService;
import java.util.List;
/**
* UserCollectService
* 用户收藏夹 service实现
......@@ -15,5 +30,47 @@ import com.mortals.xhx.module.user.service.UserCollectService;
*/
@Service("userCollectService")
public class UserCollectServiceImpl extends AbstractCRUDServiceImpl<UserCollectDao, UserCollectEntity, Long> implements UserCollectService {
@Autowired
private MatterDatumService matterDatumService;
@Autowired
private SiteMatterService siteMatterService;
@Override
protected void findAfter(UserCollectEntity params, PageInfo pageInfo, Context context, List<UserCollectEntity> list) throws AppException {
for(UserCollectEntity entity:list){
if(entity.getCollectType()==1) {
Long matterId = DataUtil.converStr2Long(entity.getBusinessId(), 0l);
SiteMatterEntity siteMatterEntity = siteMatterService.selectOne(new SiteMatterQuery().matterId(matterId));
if(siteMatterEntity!=null){
entity.setViewsCount(siteMatterEntity.getViewsCount());
}
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(matterId));
if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
entity.setDatumCount(matterDatumFileEntities.size());
}else {
entity.setDatumCount(0);
}
}
}
}
@Override
protected void findAfter(UserCollectEntity params, Context context, List<UserCollectEntity> list) throws AppException {
for(UserCollectEntity entity:list){
if(entity.getCollectType()==1) {
Long matterId = DataUtil.converStr2Long(entity.getBusinessId(), 0l);
SiteMatterEntity siteMatterEntity = siteMatterService.selectOne(new SiteMatterQuery().matterId(matterId));
if(siteMatterEntity!=null){
entity.setViewsCount(siteMatterEntity.getViewsCount());
}
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(matterId));
if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
entity.setDatumCount(matterDatumFileEntities.size());
}else {
entity.setDatumCount(0);
}
}
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.user.web;
import com.mortals.framework.annotation.RepeatSubmit;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.IUser;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.user.model.UserCollectQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -13,12 +17,10 @@ import com.mortals.xhx.module.user.model.UserCollectEntity;
import com.mortals.xhx.module.user.service.UserCollectService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
......@@ -46,5 +48,37 @@ public class UserCollectController extends BaseCRUDJsonBodyMappingController<Use
super.init(model, context);
}
@PostMapping({"remove"})
@RepeatSubmit
public String remove(@RequestBody UserCollectEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "单事项取消收藏";
IUser user = this.getCurUser();
if(user==null){
throw new AppException("用户未登录");
}
int code = 1;
try {
UserCollectEntity remove = new UserCollectEntity();
remove.setUserId(user.getId());
remove.setBusinessId(entity.getMatterId()+"");
UserCollectEntity delete = service.selectOne(remove);
if(delete!=null) {
this.service.remove(delete.getId(), context);
}
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [userId:" + user.getId() + ",MatterId:"+entity.getMatterId()+"]");
} catch (Exception var7) {
this.doException(this.request, busiDesc, model, var7);
code=-1;
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ 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