diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/busiz/applets/req/FavoriteReq.java b/enterprise-manager/src/main/java/com/mortals/xhx/busiz/applets/req/FavoriteReq.java
new file mode 100644
index 0000000000000000000000000000000000000000..201cacec9b65a1b09ff9786e7cadf25e57ba6166
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/busiz/applets/req/FavoriteReq.java
@@ -0,0 +1,30 @@
+package com.mortals.xhx.busiz.applets.req;
+
+import com.mortals.xhx.busiz.BaseReq;
+import lombok.Data;
+
+
+/**
+ * 鏀惰棌
+ *
+ * @author: zxfei
+ * @date: 2023/10/7 16:53
+ */
+@Data
+public class FavoriteReq extends BaseReq {
+
+
+    /**
+     * 浜у搧id
+     */
+    private  long productId;
+    /**
+     * 鏂伴椈id
+     */
+    private  long newsId;
+    /**
+     * 鍚嶇墖id
+     */
+    private  long staffId;
+
+}
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/busiz/applets/web/FavoriteApiController.java b/enterprise-manager/src/main/java/com/mortals/xhx/busiz/applets/web/FavoriteApiController.java
new file mode 100644
index 0000000000000000000000000000000000000000..f97b9b8d98874719c55e35e3c4afc9759ca96175
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/busiz/applets/web/FavoriteApiController.java
@@ -0,0 +1,107 @@
+package com.mortals.xhx.busiz.applets.web;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.mortals.framework.common.Rest;
+import com.mortals.framework.service.IAuthTokenService;
+import com.mortals.framework.service.IUser;
+import com.mortals.xhx.base.system.user.model.UserEntity;
+import com.mortals.xhx.base.system.user.model.UserQuery;
+import com.mortals.xhx.base.system.user.service.UserService;
+import com.mortals.xhx.busiz.applets.req.FavoriteReq;
+import com.mortals.xhx.busiz.applets.req.LoginReq;
+import com.mortals.xhx.busiz.applets.req.UserInfoReq;
+import com.mortals.xhx.module.favorites.model.FavoritesBusinesscardEntity;
+import com.mortals.xhx.module.favorites.model.FavoritesNewsEntity;
+import com.mortals.xhx.module.favorites.model.FavoritesProductEntity;
+import com.mortals.xhx.module.favorites.service.FavoritesBusinesscardService;
+import com.mortals.xhx.module.favorites.service.FavoritesNewsService;
+import com.mortals.xhx.module.favorites.service.FavoritesProductService;
+import com.mortals.xhx.module.staff.model.StaffEntity;
+import com.mortals.xhx.module.staff.model.StaffQuery;
+import com.mortals.xhx.module.staff.service.StaffService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+
+/**
+ * @author ZYW
+ * @date 2023-10-30 9:39
+ */
+@RestController
+@Slf4j
+@RequestMapping("/api/v1/favorite")
+public class FavoriteApiController extends AbstractBaseController<FavoriteReq>{
+
+    @Autowired
+    private FavoritesProductService favoritesProductService;
+    @Autowired
+    private FavoritesNewsService favoritesNewsService;
+    @Autowired
+    private FavoritesBusinesscardService favoritesBusinesscardService;
+    @Autowired
+    private IAuthTokenService authTokenService;
+    @Autowired
+    private UserService userService;
+
+    @RequestMapping("favorite")
+    public Rest<Object> favoritesProduct(@RequestBody FavoriteReq favoriteReq) throws Exception {
+        String busiDesc = "鏀惰棌浜у搧";
+        Rest<Object> rest = Rest.ok();
+        try {
+            IUser iUser = authTokenService.getLoginUser(request);
+            if(ObjectUtils.isEmpty(iUser)){
+                rest = Rest.fail("鑾峰彇涓汉淇℃伅澶辫触");
+            }else {
+                if(!ObjectUtils.isEmpty(favoriteReq.getProductId()) && favoriteReq.getProductId() != 0){
+                    FavoritesProductEntity favoritesProductEntity = new FavoritesProductEntity();
+                    favoritesProductEntity.setUserId(iUser.getId());
+                    favoritesProductEntity.setProductId(favoriteReq.getProductId());
+                    favoritesProductEntity.setCreateTime(new Date());
+                    favoritesProductEntity.setCreateUserId(iUser.getId());
+                    favoritesProductEntity.setFavoriteTime(new Date());
+
+                    favoritesProductService.save(favoritesProductEntity);
+
+                    rest.setMsg("鏀惰棌浜у搧鎴愬姛");
+                }
+                if(!ObjectUtils.isEmpty(favoriteReq.getNewsId()) && favoriteReq.getNewsId() != 0){
+                    FavoritesNewsEntity favoritesNewsEntity = new FavoritesNewsEntity();
+                    favoritesNewsEntity.setUserId(iUser.getId());
+                    favoritesNewsEntity.setNewsId(favoriteReq.getNewsId());
+                    favoritesNewsEntity.setCreateTime(new Date());
+                    favoritesNewsEntity.setCreateUserId(iUser.getId());
+                    favoritesNewsEntity.setFavoriteTime(new Date());
+
+                    favoritesNewsService.save(favoritesNewsEntity);
+
+                    rest.setMsg("鏀惰棌鏂伴椈鎴愬姛");
+                }
+                if(!ObjectUtils.isEmpty(favoriteReq.getStaffId()) && favoriteReq.getStaffId() != 0){
+                    FavoritesBusinesscardEntity favoritesBusinesscardEntity = new FavoritesBusinesscardEntity();
+                    favoritesBusinesscardEntity.setUserId(iUser.getId());
+                    favoritesBusinesscardEntity.setStaffId(favoriteReq.getStaffId());
+                    favoritesBusinesscardEntity.setCreateTime(new Date());
+                    favoritesBusinesscardEntity.setCreateUserId(iUser.getId());
+                    favoritesBusinesscardEntity.setFavoriteTime(new Date());
+
+                    favoritesBusinesscardService.save(favoritesBusinesscardEntity);
+
+                    rest.setMsg("鏀惰棌鍚嶇墖鎴愬姛");
+                }
+            }
+
+        }catch (Exception e) {
+            log.error(busiDesc, e);
+            rest = Rest.fail(super.convertException(e));
+        }
+
+        return rest;
+    }
+}