From 3b000bfdd8b7f60627559c7bfba33c015a089f36 Mon Sep 17 00:00:00 2001 From: Vinjor Date: Mon, 24 Nov 2025 14:07:13 +0800 Subject: [PATCH] 1 --- .../cus/controller/CusMainSeasController.java | 112 ++++++ .../com/ruoyi/cus/domain/CusMainSeas.java | 79 ++++ .../ruoyi/cus/mapper/CusMainSeasMapper.java | 21 + .../cus/service/ICusMainSeasService.java | 17 + .../service/impl/CusMainSeasServiceImpl.java | 30 ++ .../mapper/cus/CusMainSeasMapper.xml | 48 +++ dl_vue/src/api/cus/seas.js | 44 +++ dl_vue/src/views/cus/follow/followForm.vue | 1 + dl_vue/src/views/cus/main/whatsApp.vue | 3 + dl_vue/src/views/cus/seas/index.vue | 368 ++++++++++++++++++ 10 files changed, 723 insertions(+) create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusMainSeas.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java create mode 100644 dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml create mode 100644 dl_vue/src/api/cus/seas.js create mode 100644 dl_vue/src/views/cus/seas/index.vue diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java new file mode 100644 index 0000000..d63d5aa --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java @@ -0,0 +1,112 @@ +package com.ruoyi.cus.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.cus.domain.CusMainSeas; +import com.ruoyi.cus.service.ICusMainSeasService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 公海客户信息Controller + * + * @author vinjor-m + * @date 2025-11-24 + */ +@RestController +@RequestMapping("/cus/seas") +public class CusMainSeasController extends BaseController +{ + @Autowired + private ICusMainSeasService cusMainSeasService; + + /** + * 查询公海客户信息列表 + */ + @PreAuthorize("@ss.hasPermi('cus:seas:list')") + @GetMapping("/list") + public AjaxResult list(CusMainSeas cusMainSeas, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = cusMainSeasService.queryListPage(cusMainSeas,page); + return success(list); + } + + /** + * 导出公海客户信息列表 + */ + @PreAuthorize("@ss.hasPermi('cus:seas:export')") + @Log(title = "公海客户信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, CusMainSeas cusMainSeas) + { + List list = cusMainSeasService.list(); + ExcelUtil util = new ExcelUtil(CusMainSeas.class); + util.exportExcel(response, list, "公海客户信息数据"); + } + + /** + * 获取公海客户信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('cus:seas:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(cusMainSeasService.getById(id)); + } + + /** + * 新增公海客户信息 + */ + @PreAuthorize("@ss.hasPermi('cus:seas:add')") + @Log(title = "公海客户信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody CusMainSeas cusMainSeas) + { + return toAjax(cusMainSeasService.save(cusMainSeas)); + } + + /** + * 修改公海客户信息 + */ + @PreAuthorize("@ss.hasPermi('cus:seas:edit')") + @Log(title = "公海客户信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody CusMainSeas cusMainSeas) + { + return toAjax(cusMainSeasService.updateById(cusMainSeas)); + } + + /** + * 删除公海客户信息 + */ + @PreAuthorize("@ss.hasPermi('cus:seas:remove')") + @Log(title = "公海客户信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(cusMainSeasService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusMainSeas.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusMainSeas.java new file mode 100644 index 0000000..5e832c2 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusMainSeas.java @@ -0,0 +1,79 @@ +package com.ruoyi.cus.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 公海客户信息对象 cus_main_seas + * + * @author vinjor-m + * @date 2025-11-24 + */ +@TableName("cus_main_seas") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CusMainSeas extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 是否星标客户(0 否|1 是) */ + @Excel(name = "是否星标客户(0 否|1 是)") + private Integer ifStar; + + /** 客户标签(多个英文逗号隔开) */ + @Excel(name = "客户标签(多个英文逗号隔开)") + private String cusLabels; + + /** 客户代码 */ + @Excel(name = "客户代码") + private String cusCode; + + /** 客户名称 */ + @Excel(name = "客户名称") + private String fullName; + + /** 客户简称 */ + @Excel(name = "客户简称") + private String shortName; + + /** 客户类型 */ + @Excel(name = "客户类型") + private String cusType; + + /** 国家/地区 */ + @Excel(name = "国家/地区") + private String country; + + /** 时区 */ + @Excel(name = "时区") + private String zoneName; + + /** 主营产品(多个英文逗号隔开) */ + @Excel(name = "主营产品(多个英文逗号隔开)") + private String mainProds; + + /** 企业网站 */ + @Excel(name = "企业网站") + private String siteUrl; + + /** 备注 */ + @Excel(name = "备注") + private String remark; + + /** 附件 */ + @Excel(name = "附件") + private String files; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java new file mode 100644 index 0000000..2bdb5bd --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.cus.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.cus.domain.CusMainSeas; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 公海客户信息Mapper接口 + * + * @author vinjor-m + * @date 2025-11-24 + */ +@Mapper +public interface CusMainSeasMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") CusMainSeas entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java new file mode 100644 index 0000000..11401ad --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java @@ -0,0 +1,17 @@ +package com.ruoyi.cus.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cus.domain.CusMainSeas; + +/** + * 公海客户信息Service接口 + * + * @author vinjor-m + * @date 2025-11-24 + */ +public interface ICusMainSeasService extends IService { + IPage queryListPage(CusMainSeas pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java new file mode 100644 index 0000000..fb55ed1 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java @@ -0,0 +1,30 @@ +package com.ruoyi.cus.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cus.mapper.CusMainSeasMapper; +import com.ruoyi.cus.domain.CusMainSeas; +import com.ruoyi.cus.service.ICusMainSeasService; + +/** + * 公海客户信息Service业务层处理 + * + * @author vinjor-m + * @date 2025-11-24 + */ +@Service +public class CusMainSeasServiceImpl extends ServiceImpl implements ICusMainSeasService +{ + @Autowired + private CusMainSeasMapper cusMainSeasMapper; + + @Override + public IPage queryListPage(CusMainSeas pageReqVO, Page page) { + return cusMainSeasMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml new file mode 100644 index 0000000..b237ccb --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, if_star, cus_labels, cus_code, full_name, short_name, cus_type, country, zone_name, main_prods, site_url, remark, files, del_flag, creator, create_time, updater, update_time from cus_main_seas + + + + \ No newline at end of file diff --git a/dl_vue/src/api/cus/seas.js b/dl_vue/src/api/cus/seas.js new file mode 100644 index 0000000..ad69e26 --- /dev/null +++ b/dl_vue/src/api/cus/seas.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询公海客户信息列表 +export function listSeas(query) { + return request({ + url: '/cus/seas/list', + method: 'get', + params: query + }) +} + +// 查询公海客户信息详细 +export function getSeas(id) { + return request({ + url: '/cus/seas/' + id, + method: 'get' + }) +} + +// 新增公海客户信息 +export function addSeas(data) { + return request({ + url: '/cus/seas', + method: 'post', + data: data + }) +} + +// 修改公海客户信息 +export function updateSeas(data) { + return request({ + url: '/cus/seas', + method: 'put', + data: data + }) +} + +// 删除公海客户信息 +export function delSeas(id) { + return request({ + url: '/cus/seas/' + id, + method: 'delete' + }) +} diff --git a/dl_vue/src/views/cus/follow/followForm.vue b/dl_vue/src/views/cus/follow/followForm.vue index c493e6e..4e48dc8 100644 --- a/dl_vue/src/views/cus/follow/followForm.vue +++ b/dl_vue/src/views/cus/follow/followForm.vue @@ -342,6 +342,7 @@ export default { } }, mounted() { + this.selectList() }, methods: { selectList(row){ diff --git a/dl_vue/src/views/cus/main/whatsApp.vue b/dl_vue/src/views/cus/main/whatsApp.vue index 0d1c611..1907de8 100644 --- a/dl_vue/src/views/cus/main/whatsApp.vue +++ b/dl_vue/src/views/cus/main/whatsApp.vue @@ -93,6 +93,9 @@ export default { }, } }, + mounted() { + this.getList() + }, methods:{ /** 搜索按钮操作 */ handleQuery() { diff --git a/dl_vue/src/views/cus/seas/index.vue b/dl_vue/src/views/cus/seas/index.vue new file mode 100644 index 0000000..693532e --- /dev/null +++ b/dl_vue/src/views/cus/seas/index.vue @@ -0,0 +1,368 @@ + + +