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

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

parent 02231c0e
package com.mortals.xhx.module.user.model.vo; package com.mortals.xhx.module.user.model.vo;
import com.mortals.framework.model.BaseEntityLong; 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 com.mortals.xhx.module.user.model.UserCollectEntity;
import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -9,6 +14,12 @@ import java.util.List; ...@@ -9,6 +14,12 @@ import java.util.List;
* @author zxfei * @author zxfei
* @date 2023-03-09 * @date 2023-03-09
*/ */
@Data
public class UserCollectVo extends BaseEntityLong { 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; 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 org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -6,6 +18,9 @@ import com.mortals.framework.model.Context; ...@@ -6,6 +18,9 @@ import com.mortals.framework.model.Context;
import com.mortals.xhx.module.user.dao.UserCollectDao; import com.mortals.xhx.module.user.dao.UserCollectDao;
import com.mortals.xhx.module.user.model.UserCollectEntity; import com.mortals.xhx.module.user.model.UserCollectEntity;
import com.mortals.xhx.module.user.service.UserCollectService; import com.mortals.xhx.module.user.service.UserCollectService;
import java.util.List;
/** /**
* UserCollectService * UserCollectService
* 用户收藏夹 service实现 * 用户收藏夹 service实现
...@@ -16,4 +31,46 @@ import com.mortals.xhx.module.user.service.UserCollectService; ...@@ -16,4 +31,46 @@ import com.mortals.xhx.module.user.service.UserCollectService;
@Service("userCollectService") @Service("userCollectService")
public class UserCollectServiceImpl extends AbstractCRUDServiceImpl<UserCollectDao, UserCollectEntity, Long> implements 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; 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.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -13,12 +17,10 @@ import com.mortals.xhx.module.user.model.UserCollectEntity; ...@@ -13,12 +17,10 @@ import com.mortals.xhx.module.user.model.UserCollectEntity;
import com.mortals.xhx.module.user.service.UserCollectService; import com.mortals.xhx.module.user.service.UserCollectService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
...@@ -46,5 +48,37 @@ public class UserCollectController extends BaseCRUDJsonBodyMappingController<Use ...@@ -46,5 +48,37 @@ public class UserCollectController extends BaseCRUDJsonBodyMappingController<Use
super.init(model, context); 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