Przeglądaj źródła

feat(service-provider): 添加服务商接口和实现类方法

hechunping 5 miesięcy temu
rodzic
commit
46e5328e4e

+ 33 - 0
src/main/java/com/xynet/marketing/service/ServiceProviderService.java

@@ -1,9 +1,42 @@
 package com.xynet.marketing.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xynet.marketing.utils.collections.map.JMap;
+
+import java.util.List;
+import java.util.Map;
+
 /**
  * 服务商接口服务
  * @author hechunping
  * @date 2025/1/17
  */
 public interface ServiceProviderService {
+    /**
+     * 对象查询
+     * @param param
+     * @return
+     */
+    Map<String,Object> obj(JMap<String,Object> param);
+
+    /**
+     * 新增或修改
+     * @param param
+     * @return
+     */
+    void saveOrUpdate(JMap<String, Object> param);
+
+    /**
+     * 列表查询
+     * @param param
+     * @return
+     */
+    List<Map<String,Object>> list(JMap<String,Object> param);
+
+    /**
+     * 分页查询
+     * @param param
+     * @return
+     */
+    Page<Map<String, Object>> page(JMap<String, Object> param);
 }

+ 49 - 0
src/main/java/com/xynet/marketing/service/impl/ServiceProviderServiceImpl.java

@@ -1,12 +1,21 @@
 package com.xynet.marketing.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xynet.marketing.entity.ServiceProvider;
 import com.xynet.marketing.mapper.ServiceProviderMapper;
 import com.xynet.marketing.service.ServiceProviderService;
+import com.xynet.marketing.utils.Emptys;
+import com.xynet.marketing.utils.collections.map.JHashMap;
+import com.xynet.marketing.utils.collections.map.JMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 服务商服务实现类
  * @author hechunping
@@ -16,4 +25,44 @@ import org.springframework.stereotype.Service;
 @Slf4j
 public class ServiceProviderServiceImpl extends ServiceImpl<ServiceProviderMapper, ServiceProvider> implements ServiceProviderService {
 
+    private LambdaQueryWrapper<ServiceProvider> commonQueryWrapper(JMap<String,Object> param) {
+        LambdaQueryWrapper<ServiceProvider> lqw = new LambdaQueryWrapper<ServiceProvider>()
+                .eq(Emptys.check(param.getInt("id")), ServiceProvider::getId, param.getInt("id"))
+                //.eq(Emptys.check(param.getString("code")), ServiceProvider::getCode, param.getString("code"))
+                //.like(Emptys.check(param.getString("name")), ServiceProvider::getName, param.getString("name"))
+                ;
+        return lqw;
+    }
+
+    @Override
+    public Map<String, Object> obj(JMap<String, Object> param) {
+        LambdaQueryWrapper<ServiceProvider> lqw = commonQueryWrapper(param).last("limit 1");
+        ServiceProvider obj = getOne(lqw);
+        return JHashMap.copy(obj);
+    }
+
+    @Override
+    public void saveOrUpdate(JMap<String, Object> param) {
+        ServiceProvider save = BeanUtil.copyProperties(param, ServiceProvider.class);
+        if(Emptys.check(save.getId())){
+            updateById(save);
+        }else{
+            save(save);
+        }
+    }
+
+    @Override
+    public List<Map<String, Object>> list(JMap<String, Object> param) {
+        LambdaQueryWrapper<ServiceProvider> lqw = commonQueryWrapper(param).orderByAsc(ServiceProvider::getId);
+        List<ServiceProvider> list = list(lqw);
+        return JHashMap.copy(list);
+    }
+
+    @Override
+    public Page<Map<String, Object>> page(JMap<String, Object> param) {
+        LambdaQueryWrapper<ServiceProvider> lqw = commonQueryWrapper(param).orderByAsc(ServiceProvider::getId);
+        Page<ServiceProvider> page = new Page<>(param.getInt("pageCurrent"), param.getInt("pageSize"),true);
+        Page<ServiceProvider> list = page(page, lqw);
+        return JHashMap.copy(list);
+    }
 }