Browse Source

市场动态优化

master
maotiantian 1 month ago
parent
commit
346d543cbc
  1. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuFeedMarketController.java
  2. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuMarketInfoController.java
  3. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuMarketTrendController.java
  4. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuSalesMarketController.java
  5. 132
      chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuFeedMarket.java
  6. 206
      chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuMarketInfo.java
  7. 282
      chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuMarketTrend.java
  8. 238
      chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuSalesMarket.java
  9. 61
      chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuFeedMarketMapper.java
  10. 61
      chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuMarketInfoMapper.java
  11. 61
      chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuMarketTrendMapper.java
  12. 61
      chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuSalesMarketMapper.java
  13. 61
      chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuFeedMarketService.java
  14. 61
      chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuMarketInfoService.java
  15. 61
      chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuMarketTrendService.java
  16. 61
      chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuSalesMarketService.java
  17. 95
      chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuFeedMarketServiceImpl.java
  18. 95
      chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuMarketInfoServiceImpl.java
  19. 93
      chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuMarketTrendServiceImpl.java
  20. 95
      chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuSalesMarketServiceImpl.java
  21. 230
      chenhai-system/src/main/java/com/chenhai/system/domain/KnowledgeBase.java
  22. 61
      chenhai-system/src/main/java/com/chenhai/system/mapper/KnowledgeBaseMapper.java
  23. 61
      chenhai-system/src/main/java/com/chenhai/system/service/IKnowledgeBaseService.java
  24. 93
      chenhai-system/src/main/java/com/chenhai/system/service/impl/KnowledgeBaseServiceImpl.java
  25. 15
      chenhai-system/src/main/java/com/chenhai/system/service/impl/SysKnowledgeBaseServiceImpl.java
  26. 85
      chenhai-system/src/main/resources/mapper/muhu/MuhuFeedMarketMapper.xml
  27. 110
      chenhai-system/src/main/resources/mapper/muhu/MuhuMarketInfoMapper.xml
  28. 131
      chenhai-system/src/main/resources/mapper/muhu/MuhuMarketTrendMapper.xml
  29. 124
      chenhai-system/src/main/resources/mapper/muhu/MuhuSalesMarketMapper.xml
  30. 106
      chenhai-system/src/main/resources/mapper/system/KnowledgeBaseMapper.xml
  31. 44
      chenhai-ui/src/api/muhu/feed.js
  32. 44
      chenhai-ui/src/api/muhu/market.js
  33. 44
      chenhai-ui/src/api/muhu/sales.js
  34. 44
      chenhai-ui/src/api/muhu/trend.js
  35. 287
      chenhai-ui/src/views/muhu/feed/index.vue
  36. 167
      chenhai-ui/src/views/muhu/sales/index.vue
  37. 316
      chenhai-ui/src/views/muhu/trend/index.vue

104
chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuFeedMarketController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.muhu;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.muhu.domain.MuhuFeedMarket;
import com.chenhai.muhu.service.IMuhuFeedMarketService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 饲料市场Controller
*
* @author ruoyi
* @date 2026-01-06
*/
@RestController
@RequestMapping("/muhu/feed")
public class MuhuFeedMarketController extends BaseController
{
@Autowired
private IMuhuFeedMarketService muhuFeedMarketService;
/**
* 查询饲料市场列表
*/
@PreAuthorize("@ss.hasPermi('muhu:feed:list') or @ss.hasRole('muhu')")
@GetMapping("/list")
public TableDataInfo list(MuhuFeedMarket muhuFeedMarket)
{
startPage();
List<MuhuFeedMarket> list = muhuFeedMarketService.selectMuhuFeedMarketList(muhuFeedMarket);
return getDataTable(list);
}
/**
* 导出饲料市场列表
*/
@PreAuthorize("@ss.hasPermi('muhu:feed:export') or @ss.hasRole('muhu')")
@Log(title = "饲料市场", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MuhuFeedMarket muhuFeedMarket)
{
List<MuhuFeedMarket> list = muhuFeedMarketService.selectMuhuFeedMarketList(muhuFeedMarket);
ExcelUtil<MuhuFeedMarket> util = new ExcelUtil<MuhuFeedMarket>(MuhuFeedMarket.class);
util.exportExcel(response, list, "饲料市场数据");
}
/**
* 获取饲料市场详细信息
*/
@PreAuthorize("@ss.hasPermi('muhu:feed:query') or @ss.hasRole('muhu')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(muhuFeedMarketService.selectMuhuFeedMarketById(id));
}
/**
* 新增饲料市场
*/
@PreAuthorize("@ss.hasPermi('muhu:feed:add') or @ss.hasRole('muhu')")
@Log(title = "饲料市场", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MuhuFeedMarket muhuFeedMarket)
{
return toAjax(muhuFeedMarketService.insertMuhuFeedMarket(muhuFeedMarket));
}
/**
* 修改饲料市场
*/
@PreAuthorize("@ss.hasPermi('muhu:feed:edit') or @ss.hasRole('muhu')")
@Log(title = "饲料市场", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MuhuFeedMarket muhuFeedMarket)
{
return toAjax(muhuFeedMarketService.updateMuhuFeedMarket(muhuFeedMarket));
}
/**
* 删除饲料市场
*/
@PreAuthorize("@ss.hasPermi('muhu:feed:remove') or @ss.hasRole('muhu')")
@Log(title = "饲料市场", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(muhuFeedMarketService.deleteMuhuFeedMarketByIds(ids));
}
}

104
chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuMarketInfoController.java

@ -1,104 +0,0 @@
package com.chenhai.web.controller.muhu;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.muhu.domain.MuhuMarketInfo;
import com.chenhai.muhu.service.IMuhuMarketInfoService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 市场信息Controller
*
* @author ruoyi
* @date 2026-01-04
*/
@RestController
@RequestMapping("/muhu/market")
public class MuhuMarketInfoController extends BaseController
{
@Autowired
private IMuhuMarketInfoService muhuMarketInfoService;
/**
* 查询市场信息列表
*/
@PreAuthorize("@ss.hasPermi('muhu:market:list') or @ss.hasRole('muhu')")
@GetMapping("/list")
public TableDataInfo list(MuhuMarketInfo muhuMarketInfo)
{
startPage();
List<MuhuMarketInfo> list = muhuMarketInfoService.selectMuhuMarketInfoList(muhuMarketInfo);
return getDataTable(list);
}
/**
* 导出市场信息列表
*/
@PreAuthorize("@ss.hasPermi('muhu:market:export') or @ss.hasRole('muhu')")
@Log(title = "市场信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MuhuMarketInfo muhuMarketInfo)
{
List<MuhuMarketInfo> list = muhuMarketInfoService.selectMuhuMarketInfoList(muhuMarketInfo);
ExcelUtil<MuhuMarketInfo> util = new ExcelUtil<MuhuMarketInfo>(MuhuMarketInfo.class);
util.exportExcel(response, list, "市场信息数据");
}
/**
* 获取市场信息详细信息
*/
@PreAuthorize("@ss.hasPermi('muhu:market:query') or @ss.hasRole('muhu')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(muhuMarketInfoService.selectMuhuMarketInfoById(id));
}
/**
* 新增市场信息
*/
@PreAuthorize("@ss.hasPermi('muhu:market:add') or @ss.hasRole('muhu')")
@Log(title = "市场信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MuhuMarketInfo muhuMarketInfo)
{
return toAjax(muhuMarketInfoService.insertMuhuMarketInfo(muhuMarketInfo));
}
/**
* 修改市场信息
*/
@PreAuthorize("@ss.hasPermi('muhu:market:edit') or @ss.hasRole('muhu')")
@Log(title = "市场信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MuhuMarketInfo muhuMarketInfo)
{
return toAjax(muhuMarketInfoService.updateMuhuMarketInfo(muhuMarketInfo));
}
/**
* 删除市场信息
*/
@PreAuthorize("@ss.hasPermi('muhu:market:remove') or @ss.hasRole('muhu')")
@Log(title = "市场信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(muhuMarketInfoService.deleteMuhuMarketInfoByIds(ids));
}
}

104
chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuMarketTrendController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.muhu;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.muhu.domain.MuhuMarketTrend;
import com.chenhai.muhu.service.IMuhuMarketTrendService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 市场趋势Controller
*
* @author ruoyi
* @date 2026-01-06
*/
@RestController
@RequestMapping("/muhu/trend")
public class MuhuMarketTrendController extends BaseController
{
@Autowired
private IMuhuMarketTrendService muhuMarketTrendService;
/**
* 查询市场趋势列表
*/
@PreAuthorize("@ss.hasPermi('muhu:trend:list') or @ss.hasRole('muhu')")
@GetMapping("/list")
public TableDataInfo list(MuhuMarketTrend muhuMarketTrend)
{
startPage();
List<MuhuMarketTrend> list = muhuMarketTrendService.selectMuhuMarketTrendList(muhuMarketTrend);
return getDataTable(list);
}
/**
* 导出市场趋势列表
*/
@PreAuthorize("@ss.hasPermi('muhu:trend:export') or @ss.hasRole('muhu')")
@Log(title = "市场趋势", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MuhuMarketTrend muhuMarketTrend)
{
List<MuhuMarketTrend> list = muhuMarketTrendService.selectMuhuMarketTrendList(muhuMarketTrend);
ExcelUtil<MuhuMarketTrend> util = new ExcelUtil<MuhuMarketTrend>(MuhuMarketTrend.class);
util.exportExcel(response, list, "市场趋势数据");
}
/**
* 获取市场趋势详细信息
*/
@PreAuthorize("@ss.hasPermi('muhu:trend:query') or @ss.hasRole('muhu')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(muhuMarketTrendService.selectMuhuMarketTrendById(id));
}
/**
* 新增市场趋势
*/
@PreAuthorize("@ss.hasPermi('muhu:trend:add') or @ss.hasRole('muhu')")
@Log(title = "市场趋势", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MuhuMarketTrend muhuMarketTrend)
{
return toAjax(muhuMarketTrendService.insertMuhuMarketTrend(muhuMarketTrend));
}
/**
* 修改市场趋势
*/
@PreAuthorize("@ss.hasPermi('muhu:trend:edit') or @ss.hasRole('muhu')")
@Log(title = "市场趋势", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MuhuMarketTrend muhuMarketTrend)
{
return toAjax(muhuMarketTrendService.updateMuhuMarketTrend(muhuMarketTrend));
}
/**
* 删除市场趋势
*/
@PreAuthorize("@ss.hasPermi('muhu:trend:remove') or @ss.hasRole('muhu')")
@Log(title = "市场趋势", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(muhuMarketTrendService.deleteMuhuMarketTrendByIds(ids));
}
}

104
chenhai-admin/src/main/java/com/chenhai/web/controller/muhu/MuhuSalesMarketController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.muhu;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.muhu.domain.MuhuSalesMarket;
import com.chenhai.muhu.service.IMuhuSalesMarketService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 销售市场Controller
*
* @author ruoyi
* @date 2026-01-06
*/
@RestController
@RequestMapping("/muhu/sales")
public class MuhuSalesMarketController extends BaseController
{
@Autowired
private IMuhuSalesMarketService muhuSalesMarketService;
/**
* 查询销售市场列表
*/
@PreAuthorize("@ss.hasPermi('muhu:sales:list') or @ss.hasRole('muhu')")
@GetMapping("/list")
public TableDataInfo list(MuhuSalesMarket muhuSalesMarket)
{
startPage();
List<MuhuSalesMarket> list = muhuSalesMarketService.selectMuhuSalesMarketList(muhuSalesMarket);
return getDataTable(list);
}
/**
* 导出销售市场列表
*/
@PreAuthorize("@ss.hasPermi('muhu:sales:export') or @ss.hasRole('muhu')")
@Log(title = "销售市场", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MuhuSalesMarket muhuSalesMarket)
{
List<MuhuSalesMarket> list = muhuSalesMarketService.selectMuhuSalesMarketList(muhuSalesMarket);
ExcelUtil<MuhuSalesMarket> util = new ExcelUtil<MuhuSalesMarket>(MuhuSalesMarket.class);
util.exportExcel(response, list, "销售市场数据");
}
/**
* 获取销售市场详细信息
*/
@PreAuthorize("@ss.hasPermi('muhu:sales:query') or @ss.hasRole('muhu')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(muhuSalesMarketService.selectMuhuSalesMarketById(id));
}
/**
* 新增销售市场
*/
@PreAuthorize("@ss.hasPermi('muhu:sales:add') or @ss.hasRole('muhu')")
@Log(title = "销售市场", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MuhuSalesMarket muhuSalesMarket)
{
return toAjax(muhuSalesMarketService.insertMuhuSalesMarket(muhuSalesMarket));
}
/**
* 修改销售市场
*/
@PreAuthorize("@ss.hasPermi('muhu:sales:edit') or @ss.hasRole('muhu')")
@Log(title = "销售市场", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MuhuSalesMarket muhuSalesMarket)
{
return toAjax(muhuSalesMarketService.updateMuhuSalesMarket(muhuSalesMarket));
}
/**
* 删除销售市场
*/
@PreAuthorize("@ss.hasPermi('muhu:sales:remove') or @ss.hasRole('muhu')")
@Log(title = "销售市场", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(muhuSalesMarketService.deleteMuhuSalesMarketByIds(ids));
}
}

132
chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuFeedMarket.java

@ -0,0 +1,132 @@
package com.chenhai.muhu.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 饲料市场对象 muhu_feed_market
*
* @author ruoyi
* @date 2026-01-06
*/
public class MuhuFeedMarket extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 自增ID */
private Long id;
/** 饲料名称 */
@Excel(name = "饲料名称")
private String feedName;
/** 供应商名称 */
@Excel(name = "供应商名称")
private String supplier;
/** 价格(元/公斤) */
@Excel(name = "价格", readConverterExp = "元=/公斤")
private BigDecimal price;
/** 单位 */
@Excel(name = "单位")
private String unit;
/** 更新日期(月-日) */
@Excel(name = "更新日期", readConverterExp = "月=-日")
private Date updateDate;
/** 记录创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdAt;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setFeedName(String feedName)
{
this.feedName = feedName;
}
public String getFeedName()
{
return feedName;
}
public void setSupplier(String supplier)
{
this.supplier = supplier;
}
public String getSupplier()
{
return supplier;
}
public void setPrice(BigDecimal price)
{
this.price = price;
}
public BigDecimal getPrice()
{
return price;
}
public void setUpdateDate(Date updateDate)
{
this.updateDate = updateDate;
}
public Date getUpdateDate()
{
return updateDate;
}
public void setCreatedAt(Date createdAt)
{
this.createdAt = createdAt;
}
public Date getCreatedAt()
{
return createdAt;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("feedName", getFeedName())
.append("supplier", getSupplier())
.append("price", getPrice())
.append("updateTime", getUpdateTime())
.append("updateDate", getUpdateDate())
.append("createdAt", getCreatedAt())
.append("unit", getUnit())
.toString();
}
}

206
chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuMarketInfo.java

@ -1,206 +0,0 @@
package com.chenhai.muhu.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 市场信息对象 muhu_market_info
*
* @author ruoyi
* @date 2026-01-04
*/
public class MuhuMarketInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 信息标题 */
@Excel(name = "信息标题")
private String title;
/** 详细内容/报告正文 */
@Excel(name = "详细内容/报告正文")
private String content;
/** 信息类型:1-农牧产品销售;2-饲草料销售;3-畜产品市场价格;4-饲料供应商价格;5-市场趋势报告 */
@Excel(name = "信息类型:1-农牧产品销售;2-饲草料销售;3-畜产品市场价格;4-饲料供应商价格;5-市场趋势报告")
private String infoType;
/** 发布来源:1-管理员发布;2-系统关联(如关联管理端的市场动态) */
@Excel(name = "发布来源:1-管理员发布;2-系统关联", readConverterExp = "如=关联管理端的市场动态")
private String publishSource;
/** 地区/市场范围 */
@Excel(name = "地区/市场范围")
private String region;
/** 附件链接 */
@Excel(name = "附件链接")
private String attachmentUrl;
/** 查看次数 */
@Excel(name = "查看次数")
private Long viewCount;
/** 发布者ID */
@Excel(name = "发布者ID")
private Long publishUserId;
/** 是否置顶(0-否,1-是) */
@Excel(name = "是否置顶", readConverterExp = "0=-否,1-是")
private String isTop;
/** 状态(0-下架/隐藏,1-正常发布) */
@Excel(name = "状态", readConverterExp = "0=-下架/隐藏,1-正常发布")
private String status;
/** 发布时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date publishTime;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setContent(String content)
{
this.content = content;
}
public String getContent()
{
return content;
}
public void setInfoType(String infoType)
{
this.infoType = infoType;
}
public String getInfoType()
{
return infoType;
}
public void setPublishSource(String publishSource)
{
this.publishSource = publishSource;
}
public String getPublishSource()
{
return publishSource;
}
public void setRegion(String region)
{
this.region = region;
}
public String getRegion()
{
return region;
}
public void setAttachmentUrl(String attachmentUrl)
{
this.attachmentUrl = attachmentUrl;
}
public String getAttachmentUrl()
{
return attachmentUrl;
}
public void setViewCount(Long viewCount)
{
this.viewCount = viewCount;
}
public Long getViewCount()
{
return viewCount;
}
public void setPublishUserId(Long publishUserId)
{
this.publishUserId = publishUserId;
}
public Long getPublishUserId()
{
return publishUserId;
}
public void setIsTop(String isTop)
{
this.isTop = isTop;
}
public String getIsTop()
{
return isTop;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setPublishTime(Date publishTime)
{
this.publishTime = publishTime;
}
public Date getPublishTime()
{
return publishTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("title", getTitle())
.append("content", getContent())
.append("infoType", getInfoType())
.append("publishSource", getPublishSource())
.append("region", getRegion())
.append("attachmentUrl", getAttachmentUrl())
.append("viewCount", getViewCount())
.append("publishUserId", getPublishUserId())
.append("isTop", getIsTop())
.append("status", getStatus())
.append("publishTime", getPublishTime())
.append("updateTime", getUpdateTime())
.toString();
}
}

282
chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuMarketTrend.java

@ -0,0 +1,282 @@
package com.chenhai.muhu.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 市场趋势对象 muhu_market_trend
*
* @author ruoyi
* @date 2026-01-06
*/
public class MuhuMarketTrend extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 自增ID */
private Long id;
/** 标题 */
@Excel(name = "标题")
private String title;
/** 信息类型(report:报告, warning:预警) */
@Excel(name = "信息类型", readConverterExp = "r=eport:报告,,w=arning:预警")
private String infoType;
/** 报告类别/预警类型 */
@Excel(name = "报告类别/预警类型")
private String category;
/** 价格指数 */
@Excel(name = "价格指数")
private BigDecimal priceIndex;
/** 环比涨跌率(%) */
@Excel(name = "环比涨跌率", readConverterExp = "%=")
private BigDecimal monthCompareRate;
/** 同比涨跌率(%) */
@Excel(name = "同比涨跌率", readConverterExp = "%=")
private BigDecimal yearCompareRate;
/** 报告期间 */
@Excel(name = "报告期间")
private String reportDate;
/** 影响区域 */
@Excel(name = "影响区域")
private String region;
/** 严重程度 */
@Excel(name = "严重程度")
private String severity;
/** 预期影响 */
@Excel(name = "预期影响")
private String expectedImpact;
/** 建议措施 */
@Excel(name = "建议措施")
private String advice;
/** 信息来源 */
@Excel(name = "信息来源")
private String source;
/** 发布日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "发布日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date publishDate;
/** 详细内容/预测内容 */
@Excel(name = "详细内容/预测内容")
private String content;
/** 标签(热点、关注等) */
@Excel(name = "标签", readConverterExp = "热=点、关注等")
private String tags;
/** 记录创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdAt;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setInfoType(String infoType)
{
this.infoType = infoType;
}
public String getInfoType()
{
return infoType;
}
public void setCategory(String category)
{
this.category = category;
}
public String getCategory()
{
return category;
}
public void setPriceIndex(BigDecimal priceIndex)
{
this.priceIndex = priceIndex;
}
public BigDecimal getPriceIndex()
{
return priceIndex;
}
public void setMonthCompareRate(BigDecimal monthCompareRate)
{
this.monthCompareRate = monthCompareRate;
}
public BigDecimal getMonthCompareRate()
{
return monthCompareRate;
}
public void setYearCompareRate(BigDecimal yearCompareRate)
{
this.yearCompareRate = yearCompareRate;
}
public BigDecimal getYearCompareRate()
{
return yearCompareRate;
}
public void setReportDate(String reportDate)
{
this.reportDate = reportDate;
}
public String getReportDate()
{
return reportDate;
}
public void setRegion(String region)
{
this.region = region;
}
public String getRegion()
{
return region;
}
public void setSeverity(String severity)
{
this.severity = severity;
}
public String getSeverity()
{
return severity;
}
public void setExpectedImpact(String expectedImpact)
{
this.expectedImpact = expectedImpact;
}
public String getExpectedImpact()
{
return expectedImpact;
}
public void setAdvice(String advice)
{
this.advice = advice;
}
public String getAdvice()
{
return advice;
}
public void setSource(String source)
{
this.source = source;
}
public String getSource()
{
return source;
}
public void setPublishDate(Date publishDate)
{
this.publishDate = publishDate;
}
public Date getPublishDate()
{
return publishDate;
}
public void setContent(String content)
{
this.content = content;
}
public String getContent()
{
return content;
}
public void setTags(String tags)
{
this.tags = tags;
}
public String getTags()
{
return tags;
}
public void setCreatedAt(Date createdAt)
{
this.createdAt = createdAt;
}
public Date getCreatedAt()
{
return createdAt;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("title", getTitle())
.append("infoType", getInfoType())
.append("category", getCategory())
.append("priceIndex", getPriceIndex())
.append("monthCompareRate", getMonthCompareRate())
.append("yearCompareRate", getYearCompareRate())
.append("reportDate", getReportDate())
.append("region", getRegion())
.append("severity", getSeverity())
.append("expectedImpact", getExpectedImpact())
.append("advice", getAdvice())
.append("source", getSource())
.append("publishDate", getPublishDate())
.append("content", getContent())
.append("tags", getTags())
.append("createdAt", getCreatedAt())
.toString();
}
}

238
chenhai-system/src/main/java/com/chenhai/muhu/domain/MuhuSalesMarket.java

@ -0,0 +1,238 @@
package com.chenhai.muhu.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 销售市场对象 muhu_sales_market
*
* @author ruoyi
* @date 2026-01-06
*/
public class MuhuSalesMarket extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 产品名称(如:优质肉牛、绵羊等) */
@Excel(name = "产品名称", readConverterExp = "如=:优质肉牛、绵羊等")
private String productName;
/** 产品类型(牛、羊、牛奶等) */
@Excel(name = "产品类型", readConverterExp = "牛=、羊、牛奶等")
private String productType;
/** 当前价格 */
@Excel(name = "当前价格")
private BigDecimal price;
/** 价格单位 */
@Excel(name = "价格单位")
private String unit;
/** 价格变化百分比(+为涨,-为跌) */
@Excel(name = "价格变化百分比", readConverterExp = "+=为涨,-为跌")
private BigDecimal priceChange;
/** 市场名称 */
@Excel(name = "市场名称")
private String marketName;
/** 省份 */
@Excel(name = "省份")
private String regionProvince;
/** 城市 */
@Excel(name = "城市")
private String regionCity;
/** 详细地区 */
@Excel(name = "详细地区")
private String regionDetail;
/** 价格时间(如:16:00) */
@Excel(name = "价格时间", readConverterExp = "如=:16:00")
private Date priceTime;
/** 价格日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "价格日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date priceDate;
/** 数据来源 */
@Excel(name = "数据来源")
private String dataSource;
/** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setProductType(String productType)
{
this.productType = productType;
}
public String getProductType()
{
return productType;
}
public void setPrice(BigDecimal price)
{
this.price = price;
}
public BigDecimal getPrice()
{
return price;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setPriceChange(BigDecimal priceChange)
{
this.priceChange = priceChange;
}
public BigDecimal getPriceChange()
{
return priceChange;
}
public void setMarketName(String marketName)
{
this.marketName = marketName;
}
public String getMarketName()
{
return marketName;
}
public void setRegionProvince(String regionProvince)
{
this.regionProvince = regionProvince;
}
public String getRegionProvince()
{
return regionProvince;
}
public void setRegionCity(String regionCity)
{
this.regionCity = regionCity;
}
public String getRegionCity()
{
return regionCity;
}
public void setRegionDetail(String regionDetail)
{
this.regionDetail = regionDetail;
}
public String getRegionDetail()
{
return regionDetail;
}
public void setPriceTime(Date priceTime)
{
this.priceTime = priceTime;
}
public Date getPriceTime()
{
return priceTime;
}
public void setPriceDate(Date priceDate)
{
this.priceDate = priceDate;
}
public Date getPriceDate()
{
return priceDate;
}
public void setDataSource(String dataSource)
{
this.dataSource = dataSource;
}
public String getDataSource()
{
return dataSource;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("productName", getProductName())
.append("productType", getProductType())
.append("price", getPrice())
.append("unit", getUnit())
.append("priceChange", getPriceChange())
.append("marketName", getMarketName())
.append("regionProvince", getRegionProvince())
.append("regionCity", getRegionCity())
.append("regionDetail", getRegionDetail())
.append("priceTime", getPriceTime())
.append("priceDate", getPriceDate())
.append("updateTime", getUpdateTime())
.append("dataSource", getDataSource())
.append("status", getStatus())
.append("remark", getRemark())
.toString();
}
}

61
chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuFeedMarketMapper.java

@ -0,0 +1,61 @@
package com.chenhai.muhu.mapper;
import java.util.List;
import com.chenhai.muhu.domain.MuhuFeedMarket;
/**
* 饲料市场Mapper接口
*
* @author ruoyi
* @date 2026-01-06
*/
public interface MuhuFeedMarketMapper
{
/**
* 查询饲料市场
*
* @param id 饲料市场主键
* @return 饲料市场
*/
public MuhuFeedMarket selectMuhuFeedMarketById(Long id);
/**
* 查询饲料市场列表
*
* @param muhuFeedMarket 饲料市场
* @return 饲料市场集合
*/
public List<MuhuFeedMarket> selectMuhuFeedMarketList(MuhuFeedMarket muhuFeedMarket);
/**
* 新增饲料市场
*
* @param muhuFeedMarket 饲料市场
* @return 结果
*/
public int insertMuhuFeedMarket(MuhuFeedMarket muhuFeedMarket);
/**
* 修改饲料市场
*
* @param muhuFeedMarket 饲料市场
* @return 结果
*/
public int updateMuhuFeedMarket(MuhuFeedMarket muhuFeedMarket);
/**
* 删除饲料市场
*
* @param id 饲料市场主键
* @return 结果
*/
public int deleteMuhuFeedMarketById(Long id);
/**
* 批量删除饲料市场
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMuhuFeedMarketByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuMarketInfoMapper.java

@ -1,61 +0,0 @@
package com.chenhai.muhu.mapper;
import java.util.List;
import com.chenhai.muhu.domain.MuhuMarketInfo;
/**
* 市场信息Mapper接口
*
* @author ruoyi
* @date 2026-01-04
*/
public interface MuhuMarketInfoMapper
{
/**
* 查询市场信息
*
* @param id 市场信息主键
* @return 市场信息
*/
public MuhuMarketInfo selectMuhuMarketInfoById(Long id);
/**
* 查询市场信息列表
*
* @param muhuMarketInfo 市场信息
* @return 市场信息集合
*/
public List<MuhuMarketInfo> selectMuhuMarketInfoList(MuhuMarketInfo muhuMarketInfo);
/**
* 新增市场信息
*
* @param muhuMarketInfo 市场信息
* @return 结果
*/
public int insertMuhuMarketInfo(MuhuMarketInfo muhuMarketInfo);
/**
* 修改市场信息
*
* @param muhuMarketInfo 市场信息
* @return 结果
*/
public int updateMuhuMarketInfo(MuhuMarketInfo muhuMarketInfo);
/**
* 删除市场信息
*
* @param id 市场信息主键
* @return 结果
*/
public int deleteMuhuMarketInfoById(Long id);
/**
* 批量删除市场信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMuhuMarketInfoByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuMarketTrendMapper.java

@ -0,0 +1,61 @@
package com.chenhai.muhu.mapper;
import java.util.List;
import com.chenhai.muhu.domain.MuhuMarketTrend;
/**
* 市场趋势Mapper接口
*
* @author ruoyi
* @date 2026-01-06
*/
public interface MuhuMarketTrendMapper
{
/**
* 查询市场趋势
*
* @param id 市场趋势主键
* @return 市场趋势
*/
public MuhuMarketTrend selectMuhuMarketTrendById(Long id);
/**
* 查询市场趋势列表
*
* @param muhuMarketTrend 市场趋势
* @return 市场趋势集合
*/
public List<MuhuMarketTrend> selectMuhuMarketTrendList(MuhuMarketTrend muhuMarketTrend);
/**
* 新增市场趋势
*
* @param muhuMarketTrend 市场趋势
* @return 结果
*/
public int insertMuhuMarketTrend(MuhuMarketTrend muhuMarketTrend);
/**
* 修改市场趋势
*
* @param muhuMarketTrend 市场趋势
* @return 结果
*/
public int updateMuhuMarketTrend(MuhuMarketTrend muhuMarketTrend);
/**
* 删除市场趋势
*
* @param id 市场趋势主键
* @return 结果
*/
public int deleteMuhuMarketTrendById(Long id);
/**
* 批量删除市场趋势
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMuhuMarketTrendByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/mapper/MuhuSalesMarketMapper.java

@ -0,0 +1,61 @@
package com.chenhai.muhu.mapper;
import java.util.List;
import com.chenhai.muhu.domain.MuhuSalesMarket;
/**
* 销售市场Mapper接口
*
* @author ruoyi
* @date 2026-01-06
*/
public interface MuhuSalesMarketMapper
{
/**
* 查询销售市场
*
* @param id 销售市场主键
* @return 销售市场
*/
public MuhuSalesMarket selectMuhuSalesMarketById(Long id);
/**
* 查询销售市场列表
*
* @param muhuSalesMarket 销售市场
* @return 销售市场集合
*/
public List<MuhuSalesMarket> selectMuhuSalesMarketList(MuhuSalesMarket muhuSalesMarket);
/**
* 新增销售市场
*
* @param muhuSalesMarket 销售市场
* @return 结果
*/
public int insertMuhuSalesMarket(MuhuSalesMarket muhuSalesMarket);
/**
* 修改销售市场
*
* @param muhuSalesMarket 销售市场
* @return 结果
*/
public int updateMuhuSalesMarket(MuhuSalesMarket muhuSalesMarket);
/**
* 删除销售市场
*
* @param id 销售市场主键
* @return 结果
*/
public int deleteMuhuSalesMarketById(Long id);
/**
* 批量删除销售市场
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMuhuSalesMarketByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuFeedMarketService.java

@ -0,0 +1,61 @@
package com.chenhai.muhu.service;
import java.util.List;
import com.chenhai.muhu.domain.MuhuFeedMarket;
/**
* 饲料市场Service接口
*
* @author ruoyi
* @date 2026-01-06
*/
public interface IMuhuFeedMarketService
{
/**
* 查询饲料市场
*
* @param id 饲料市场主键
* @return 饲料市场
*/
public MuhuFeedMarket selectMuhuFeedMarketById(Long id);
/**
* 查询饲料市场列表
*
* @param muhuFeedMarket 饲料市场
* @return 饲料市场集合
*/
public List<MuhuFeedMarket> selectMuhuFeedMarketList(MuhuFeedMarket muhuFeedMarket);
/**
* 新增饲料市场
*
* @param muhuFeedMarket 饲料市场
* @return 结果
*/
public int insertMuhuFeedMarket(MuhuFeedMarket muhuFeedMarket);
/**
* 修改饲料市场
*
* @param muhuFeedMarket 饲料市场
* @return 结果
*/
public int updateMuhuFeedMarket(MuhuFeedMarket muhuFeedMarket);
/**
* 批量删除饲料市场
*
* @param ids 需要删除的饲料市场主键集合
* @return 结果
*/
public int deleteMuhuFeedMarketByIds(Long[] ids);
/**
* 删除饲料市场信息
*
* @param id 饲料市场主键
* @return 结果
*/
public int deleteMuhuFeedMarketById(Long id);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuMarketInfoService.java

@ -1,61 +0,0 @@
package com.chenhai.muhu.service;
import java.util.List;
import com.chenhai.muhu.domain.MuhuMarketInfo;
/**
* 市场信息Service接口
*
* @author ruoyi
* @date 2026-01-04
*/
public interface IMuhuMarketInfoService
{
/**
* 查询市场信息
*
* @param id 市场信息主键
* @return 市场信息
*/
public MuhuMarketInfo selectMuhuMarketInfoById(Long id);
/**
* 查询市场信息列表
*
* @param muhuMarketInfo 市场信息
* @return 市场信息集合
*/
public List<MuhuMarketInfo> selectMuhuMarketInfoList(MuhuMarketInfo muhuMarketInfo);
/**
* 新增市场信息
*
* @param muhuMarketInfo 市场信息
* @return 结果
*/
public int insertMuhuMarketInfo(MuhuMarketInfo muhuMarketInfo);
/**
* 修改市场信息
*
* @param muhuMarketInfo 市场信息
* @return 结果
*/
public int updateMuhuMarketInfo(MuhuMarketInfo muhuMarketInfo);
/**
* 批量删除市场信息
*
* @param ids 需要删除的市场信息主键集合
* @return 结果
*/
public int deleteMuhuMarketInfoByIds(Long[] ids);
/**
* 删除市场信息信息
*
* @param id 市场信息主键
* @return 结果
*/
public int deleteMuhuMarketInfoById(Long id);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuMarketTrendService.java

@ -0,0 +1,61 @@
package com.chenhai.muhu.service;
import java.util.List;
import com.chenhai.muhu.domain.MuhuMarketTrend;
/**
* 市场趋势Service接口
*
* @author ruoyi
* @date 2026-01-06
*/
public interface IMuhuMarketTrendService
{
/**
* 查询市场趋势
*
* @param id 市场趋势主键
* @return 市场趋势
*/
public MuhuMarketTrend selectMuhuMarketTrendById(Long id);
/**
* 查询市场趋势列表
*
* @param muhuMarketTrend 市场趋势
* @return 市场趋势集合
*/
public List<MuhuMarketTrend> selectMuhuMarketTrendList(MuhuMarketTrend muhuMarketTrend);
/**
* 新增市场趋势
*
* @param muhuMarketTrend 市场趋势
* @return 结果
*/
public int insertMuhuMarketTrend(MuhuMarketTrend muhuMarketTrend);
/**
* 修改市场趋势
*
* @param muhuMarketTrend 市场趋势
* @return 结果
*/
public int updateMuhuMarketTrend(MuhuMarketTrend muhuMarketTrend);
/**
* 批量删除市场趋势
*
* @param ids 需要删除的市场趋势主键集合
* @return 结果
*/
public int deleteMuhuMarketTrendByIds(Long[] ids);
/**
* 删除市场趋势信息
*
* @param id 市场趋势主键
* @return 结果
*/
public int deleteMuhuMarketTrendById(Long id);
}

61
chenhai-system/src/main/java/com/chenhai/muhu/service/IMuhuSalesMarketService.java

@ -0,0 +1,61 @@
package com.chenhai.muhu.service;
import java.util.List;
import com.chenhai.muhu.domain.MuhuSalesMarket;
/**
* 销售市场Service接口
*
* @author ruoyi
* @date 2026-01-06
*/
public interface IMuhuSalesMarketService
{
/**
* 查询销售市场
*
* @param id 销售市场主键
* @return 销售市场
*/
public MuhuSalesMarket selectMuhuSalesMarketById(Long id);
/**
* 查询销售市场列表
*
* @param muhuSalesMarket 销售市场
* @return 销售市场集合
*/
public List<MuhuSalesMarket> selectMuhuSalesMarketList(MuhuSalesMarket muhuSalesMarket);
/**
* 新增销售市场
*
* @param muhuSalesMarket 销售市场
* @return 结果
*/
public int insertMuhuSalesMarket(MuhuSalesMarket muhuSalesMarket);
/**
* 修改销售市场
*
* @param muhuSalesMarket 销售市场
* @return 结果
*/
public int updateMuhuSalesMarket(MuhuSalesMarket muhuSalesMarket);
/**
* 批量删除销售市场
*
* @param ids 需要删除的销售市场主键集合
* @return 结果
*/
public int deleteMuhuSalesMarketByIds(Long[] ids);
/**
* 删除销售市场信息
*
* @param id 销售市场主键
* @return 结果
*/
public int deleteMuhuSalesMarketById(Long id);
}

95
chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuFeedMarketServiceImpl.java

@ -0,0 +1,95 @@
package com.chenhai.muhu.service.impl;
import java.util.List;
import com.chenhai.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.muhu.mapper.MuhuFeedMarketMapper;
import com.chenhai.muhu.domain.MuhuFeedMarket;
import com.chenhai.muhu.service.IMuhuFeedMarketService;
/**
* 饲料市场Service业务层处理
*
* @author ruoyi
* @date 2026-01-06
*/
@Service
public class MuhuFeedMarketServiceImpl implements IMuhuFeedMarketService
{
@Autowired
private MuhuFeedMarketMapper muhuFeedMarketMapper;
/**
* 查询饲料市场
*
* @param id 饲料市场主键
* @return 饲料市场
*/
@Override
public MuhuFeedMarket selectMuhuFeedMarketById(Long id)
{
return muhuFeedMarketMapper.selectMuhuFeedMarketById(id);
}
/**
* 查询饲料市场列表
*
* @param muhuFeedMarket 饲料市场
* @return 饲料市场
*/
@Override
public List<MuhuFeedMarket> selectMuhuFeedMarketList(MuhuFeedMarket muhuFeedMarket)
{
return muhuFeedMarketMapper.selectMuhuFeedMarketList(muhuFeedMarket);
}
/**
* 新增饲料市场
*
* @param muhuFeedMarket 饲料市场
* @return 结果
*/
@Override
public int insertMuhuFeedMarket(MuhuFeedMarket muhuFeedMarket)
{
return muhuFeedMarketMapper.insertMuhuFeedMarket(muhuFeedMarket);
}
/**
* 修改饲料市场
*
* @param muhuFeedMarket 饲料市场
* @return 结果
*/
@Override
public int updateMuhuFeedMarket(MuhuFeedMarket muhuFeedMarket)
{
muhuFeedMarket.setUpdateTime(DateUtils.getNowDate());
return muhuFeedMarketMapper.updateMuhuFeedMarket(muhuFeedMarket);
}
/**
* 批量删除饲料市场
*
* @param ids 需要删除的饲料市场主键
* @return 结果
*/
@Override
public int deleteMuhuFeedMarketByIds(Long[] ids)
{
return muhuFeedMarketMapper.deleteMuhuFeedMarketByIds(ids);
}
/**
* 删除饲料市场信息
*
* @param id 饲料市场主键
* @return 结果
*/
@Override
public int deleteMuhuFeedMarketById(Long id)
{
return muhuFeedMarketMapper.deleteMuhuFeedMarketById(id);
}
}

95
chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuMarketInfoServiceImpl.java

@ -1,95 +0,0 @@
package com.chenhai.muhu.service.impl;
import java.util.List;
import com.chenhai.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.muhu.mapper.MuhuMarketInfoMapper;
import com.chenhai.muhu.domain.MuhuMarketInfo;
import com.chenhai.muhu.service.IMuhuMarketInfoService;
/**
* 市场信息Service业务层处理
*
* @author ruoyi
* @date 2026-01-04
*/
@Service
public class MuhuMarketInfoServiceImpl implements IMuhuMarketInfoService
{
@Autowired
private MuhuMarketInfoMapper muhuMarketInfoMapper;
/**
* 查询市场信息
*
* @param id 市场信息主键
* @return 市场信息
*/
@Override
public MuhuMarketInfo selectMuhuMarketInfoById(Long id)
{
return muhuMarketInfoMapper.selectMuhuMarketInfoById(id);
}
/**
* 查询市场信息列表
*
* @param muhuMarketInfo 市场信息
* @return 市场信息
*/
@Override
public List<MuhuMarketInfo> selectMuhuMarketInfoList(MuhuMarketInfo muhuMarketInfo)
{
return muhuMarketInfoMapper.selectMuhuMarketInfoList(muhuMarketInfo);
}
/**
* 新增市场信息
*
* @param muhuMarketInfo 市场信息
* @return 结果
*/
@Override
public int insertMuhuMarketInfo(MuhuMarketInfo muhuMarketInfo)
{
return muhuMarketInfoMapper.insertMuhuMarketInfo(muhuMarketInfo);
}
/**
* 修改市场信息
*
* @param muhuMarketInfo 市场信息
* @return 结果
*/
@Override
public int updateMuhuMarketInfo(MuhuMarketInfo muhuMarketInfo)
{
muhuMarketInfo.setUpdateTime(DateUtils.getNowDate());
return muhuMarketInfoMapper.updateMuhuMarketInfo(muhuMarketInfo);
}
/**
* 批量删除市场信息
*
* @param ids 需要删除的市场信息主键
* @return 结果
*/
@Override
public int deleteMuhuMarketInfoByIds(Long[] ids)
{
return muhuMarketInfoMapper.deleteMuhuMarketInfoByIds(ids);
}
/**
* 删除市场信息信息
*
* @param id 市场信息主键
* @return 结果
*/
@Override
public int deleteMuhuMarketInfoById(Long id)
{
return muhuMarketInfoMapper.deleteMuhuMarketInfoById(id);
}
}

93
chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuMarketTrendServiceImpl.java

@ -0,0 +1,93 @@
package com.chenhai.muhu.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.muhu.mapper.MuhuMarketTrendMapper;
import com.chenhai.muhu.domain.MuhuMarketTrend;
import com.chenhai.muhu.service.IMuhuMarketTrendService;
/**
* 市场趋势Service业务层处理
*
* @author ruoyi
* @date 2026-01-06
*/
@Service
public class MuhuMarketTrendServiceImpl implements IMuhuMarketTrendService
{
@Autowired
private MuhuMarketTrendMapper muhuMarketTrendMapper;
/**
* 查询市场趋势
*
* @param id 市场趋势主键
* @return 市场趋势
*/
@Override
public MuhuMarketTrend selectMuhuMarketTrendById(Long id)
{
return muhuMarketTrendMapper.selectMuhuMarketTrendById(id);
}
/**
* 查询市场趋势列表
*
* @param muhuMarketTrend 市场趋势
* @return 市场趋势
*/
@Override
public List<MuhuMarketTrend> selectMuhuMarketTrendList(MuhuMarketTrend muhuMarketTrend)
{
return muhuMarketTrendMapper.selectMuhuMarketTrendList(muhuMarketTrend);
}
/**
* 新增市场趋势
*
* @param muhuMarketTrend 市场趋势
* @return 结果
*/
@Override
public int insertMuhuMarketTrend(MuhuMarketTrend muhuMarketTrend)
{
return muhuMarketTrendMapper.insertMuhuMarketTrend(muhuMarketTrend);
}
/**
* 修改市场趋势
*
* @param muhuMarketTrend 市场趋势
* @return 结果
*/
@Override
public int updateMuhuMarketTrend(MuhuMarketTrend muhuMarketTrend)
{
return muhuMarketTrendMapper.updateMuhuMarketTrend(muhuMarketTrend);
}
/**
* 批量删除市场趋势
*
* @param ids 需要删除的市场趋势主键
* @return 结果
*/
@Override
public int deleteMuhuMarketTrendByIds(Long[] ids)
{
return muhuMarketTrendMapper.deleteMuhuMarketTrendByIds(ids);
}
/**
* 删除市场趋势信息
*
* @param id 市场趋势主键
* @return 结果
*/
@Override
public int deleteMuhuMarketTrendById(Long id)
{
return muhuMarketTrendMapper.deleteMuhuMarketTrendById(id);
}
}

95
chenhai-system/src/main/java/com/chenhai/muhu/service/impl/MuhuSalesMarketServiceImpl.java

@ -0,0 +1,95 @@
package com.chenhai.muhu.service.impl;
import java.util.List;
import com.chenhai.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.muhu.mapper.MuhuSalesMarketMapper;
import com.chenhai.muhu.domain.MuhuSalesMarket;
import com.chenhai.muhu.service.IMuhuSalesMarketService;
/**
* 销售市场Service业务层处理
*
* @author ruoyi
* @date 2026-01-06
*/
@Service
public class MuhuSalesMarketServiceImpl implements IMuhuSalesMarketService
{
@Autowired
private MuhuSalesMarketMapper muhuSalesMarketMapper;
/**
* 查询销售市场
*
* @param id 销售市场主键
* @return 销售市场
*/
@Override
public MuhuSalesMarket selectMuhuSalesMarketById(Long id)
{
return muhuSalesMarketMapper.selectMuhuSalesMarketById(id);
}
/**
* 查询销售市场列表
*
* @param muhuSalesMarket 销售市场
* @return 销售市场
*/
@Override
public List<MuhuSalesMarket> selectMuhuSalesMarketList(MuhuSalesMarket muhuSalesMarket)
{
return muhuSalesMarketMapper.selectMuhuSalesMarketList(muhuSalesMarket);
}
/**
* 新增销售市场
*
* @param muhuSalesMarket 销售市场
* @return 结果
*/
@Override
public int insertMuhuSalesMarket(MuhuSalesMarket muhuSalesMarket)
{
return muhuSalesMarketMapper.insertMuhuSalesMarket(muhuSalesMarket);
}
/**
* 修改销售市场
*
* @param muhuSalesMarket 销售市场
* @return 结果
*/
@Override
public int updateMuhuSalesMarket(MuhuSalesMarket muhuSalesMarket)
{
muhuSalesMarket.setUpdateTime(DateUtils.getNowDate());
return muhuSalesMarketMapper.updateMuhuSalesMarket(muhuSalesMarket);
}
/**
* 批量删除销售市场
*
* @param ids 需要删除的销售市场主键
* @return 结果
*/
@Override
public int deleteMuhuSalesMarketByIds(Long[] ids)
{
return muhuSalesMarketMapper.deleteMuhuSalesMarketByIds(ids);
}
/**
* 删除销售市场信息
*
* @param id 销售市场主键
* @return 结果
*/
@Override
public int deleteMuhuSalesMarketById(Long id)
{
return muhuSalesMarketMapper.deleteMuhuSalesMarketById(id);
}
}

230
chenhai-system/src/main/java/com/chenhai/system/domain/KnowledgeBase.java

@ -1,230 +0,0 @@
package com.chenhai.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 知识库管理对象 knowledge_base
*/
public class KnowledgeBase extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 知识ID */
private Long id;
/** 知识标题 */
@Excel(name = "知识标题")
private String title;
/** 知识类别 */
@Excel(name = "知识类别")
private String category;
/** 关键词,逗号分隔(用于搜索) */
@Excel(name = "关键词")
private String keywords;
/** 知识摘要 */
@Excel(name = "知识摘要")
private String summary;
/** 详细内容 */
@Excel(name = "详细内容")
private String content;
/** 适用物种,逗号分隔(如:鸡,鸭,猪,牛,羊) */
@Excel(name = "适用物种")
private String applicableSpecies;
/** 来源名称 */
@Excel(name = "来源名称")
private String sourceName;
/** 作者 */
@Excel(name = "作者")
private String author;
/** 状态(DRAFT草稿/PUBLISHED已发布/ARCHIVED已归档) */
@Excel(name = "状态", readConverterExp = "D=RAFT草稿/PUBLISHED已发布/ARCHIVED已归档")
private String status;
/** 是否推荐(0否 1是) */
@Excel(name = "是否推荐", readConverterExp = "0=否,1=是")
private String isRecommended;
/** 查看次数 */
@Excel(name = "查看次数")
private Long viewCount;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date createdTime;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date updatedTime;
/** 发布时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date publishTime;
// 以下是BaseEntity可能已有的字段如果BaseEntity没有则需要添加
/** 创建者 */
@Excel(name = "创建者")
private String createBy;
/** 更新者 */
@Excel(name = "更新者")
private String updateBy;
// getter和setter方法
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setCategory(String category) {
this.category = category;
}
public String getCategory() {
return category;
}
public void setKeywords(String keywords) {
this.keywords = keywords;
}
public String getKeywords() {
return keywords;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getSummary() {
return summary;
}
public void setContent(String content) {
this.content = content;
}
public String getContent() {
return content;
}
public void setApplicableSpecies(String applicableSpecies) {
this.applicableSpecies = applicableSpecies;
}
public String getApplicableSpecies() {
return applicableSpecies;
}
public void setSourceName(String sourceName) {
this.sourceName = sourceName;
}
public String getSourceName() {
return sourceName;
}
public void setAuthor(String author) {
this.author = author;
}
public String getAuthor() {
return author;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public void setIsRecommended(String isRecommended) {
this.isRecommended = isRecommended;
}
public String getIsRecommended() {
return isRecommended;
}
public void setViewCount(Long viewCount) {
this.viewCount = viewCount;
}
public Long getViewCount() {
return viewCount;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public Date getCreatedTime() {
return createdTime;
}
public void setUpdatedTime(Date updatedTime) {
this.updatedTime = updatedTime;
}
public Date getUpdatedTime() {
return updatedTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
public Date getPublishTime() {
return publishTime;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getCreateBy() {
return createBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public String getUpdateBy() {
return updateBy;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("title", getTitle())
.append("category", getCategory())
.append("keywords", getKeywords())
.append("summary", getSummary())
.append("content", getContent())
.append("applicableSpecies", getApplicableSpecies())
.append("sourceName", getSourceName())
.append("author", getAuthor())
.append("status", getStatus())
.append("isRecommended", getIsRecommended())
.append("viewCount", getViewCount())
.append("createdTime", getCreatedTime())
.append("updatedTime", getUpdatedTime())
.append("publishTime", getPublishTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.toString();
}
}

61
chenhai-system/src/main/java/com/chenhai/system/mapper/KnowledgeBaseMapper.java

@ -1,61 +0,0 @@
package com.chenhai.system.mapper;
import java.util.List;
import com.chenhai.system.domain.KnowledgeBase;
/**
* 知识库管理Mapper接口
*
* @author ruoyi
* @date 2025-12-30
*/
public interface KnowledgeBaseMapper
{
/**
* 查询知识库管理
*
* @param id 知识库管理主键
* @return 知识库管理
*/
public KnowledgeBase selectKnowledgeBaseById(Long id);
/**
* 查询知识库管理列表
*
* @param knowledgeBase 知识库管理
* @return 知识库管理集合
*/
public List<KnowledgeBase> selectKnowledgeBaseList(KnowledgeBase knowledgeBase);
/**
* 新增知识库管理
*
* @param knowledgeBase 知识库管理
* @return 结果
*/
public int insertKnowledgeBase(KnowledgeBase knowledgeBase);
/**
* 修改知识库管理
*
* @param knowledgeBase 知识库管理
* @return 结果
*/
public int updateKnowledgeBase(KnowledgeBase knowledgeBase);
/**
* 删除知识库管理
*
* @param id 知识库管理主键
* @return 结果
*/
public int deleteKnowledgeBaseById(Long id);
/**
* 批量删除知识库管理
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteKnowledgeBaseByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/system/service/IKnowledgeBaseService.java

@ -1,61 +0,0 @@
package com.chenhai.system.service;
import java.util.List;
import com.chenhai.system.domain.KnowledgeBase;
/**
* 知识库管理Service接口
*
* @author ruoyi
* @date 2025-12-30
*/
public interface IKnowledgeBaseService
{
/**
* 查询知识库管理
*
* @param id 知识库管理主键
* @return 知识库管理
*/
public KnowledgeBase selectKnowledgeBaseById(Long id);
/**
* 查询知识库管理列表
*
* @param knowledgeBase 知识库管理
* @return 知识库管理集合
*/
public List<KnowledgeBase> selectKnowledgeBaseList(KnowledgeBase knowledgeBase);
/**
* 新增知识库管理
*
* @param knowledgeBase 知识库管理
* @return 结果
*/
public int insertKnowledgeBase(KnowledgeBase knowledgeBase);
/**
* 修改知识库管理
*
* @param knowledgeBase 知识库管理
* @return 结果
*/
public int updateKnowledgeBase(KnowledgeBase knowledgeBase);
/**
* 批量删除知识库管理
*
* @param ids 需要删除的知识库管理主键集合
* @return 结果
*/
public int deleteKnowledgeBaseByIds(Long[] ids);
/**
* 删除知识库管理信息
*
* @param id 知识库管理主键
* @return 结果
*/
public int deleteKnowledgeBaseById(Long id);
}

93
chenhai-system/src/main/java/com/chenhai/system/service/impl/KnowledgeBaseServiceImpl.java

@ -1,93 +0,0 @@
package com.chenhai.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.system.mapper.KnowledgeBaseMapper;
import com.chenhai.system.domain.KnowledgeBase;
import com.chenhai.system.service.IKnowledgeBaseService;
/**
* 知识库管理Service业务层处理
*
* @author ruoyi
* @date 2025-12-30
*/
@Service
public class KnowledgeBaseServiceImpl implements IKnowledgeBaseService
{
@Autowired
private KnowledgeBaseMapper knowledgeBaseMapper;
/**
* 查询知识库管理
*
* @param id 知识库管理主键
* @return 知识库管理
*/
@Override
public KnowledgeBase selectKnowledgeBaseById(Long id)
{
return knowledgeBaseMapper.selectKnowledgeBaseById(id);
}
/**
* 查询知识库管理列表
*
* @param knowledgeBase 知识库管理
* @return 知识库管理
*/
@Override
public List<KnowledgeBase> selectKnowledgeBaseList(KnowledgeBase knowledgeBase)
{
return knowledgeBaseMapper.selectKnowledgeBaseList(knowledgeBase);
}
/**
* 新增知识库管理
*
* @param knowledgeBase 知识库管理
* @return 结果
*/
@Override
public int insertKnowledgeBase(KnowledgeBase knowledgeBase)
{
return knowledgeBaseMapper.insertKnowledgeBase(knowledgeBase);
}
/**
* 修改知识库管理
*
* @param knowledgeBase 知识库管理
* @return 结果
*/
@Override
public int updateKnowledgeBase(KnowledgeBase knowledgeBase)
{
return knowledgeBaseMapper.updateKnowledgeBase(knowledgeBase);
}
/**
* 批量删除知识库管理
*
* @param ids 需要删除的知识库管理主键
* @return 结果
*/
@Override
public int deleteKnowledgeBaseByIds(Long[] ids)
{
return knowledgeBaseMapper.deleteKnowledgeBaseByIds(ids);
}
/**
* 删除知识库管理信息
*
* @param id 知识库管理主键
* @return 结果
*/
@Override
public int deleteKnowledgeBaseById(Long id)
{
return knowledgeBaseMapper.deleteKnowledgeBaseById(id);
}
}

15
chenhai-system/src/main/java/com/chenhai/system/service/impl/SysKnowledgeBaseServiceImpl.java

@ -102,26 +102,25 @@ public class SysKnowledgeBaseServiceImpl implements ISysKnowledgeBaseService
* @param keyword 搜索关键词
* @return 知识库集合
*/
@Override
public List<SysKnowledgeBase> searchSysKnowledgeBaseByKeyword(String keyword) {
System.out.println("=== 开始搜索 ===");
System.out.println("原始输入: " + keyword);
// 关键在方法开始时直接过滤纯数字
if (StringUtils.isEmpty(keyword) || keyword.matches("^\\d+$")) {
return new ArrayList<>();
}
// 1. 关键词提取
keyword = keyword.trim();
// 原有的逻辑...
List<String> keywords = extractKeywords(keyword);
System.out.println("提取的关键词: " + keywords);
// 2. 如果提取到关键词使用多关键词搜索
if (!keywords.isEmpty()) {
System.out.println("使用多关键词搜索: " + keywords);
return sysKnowledgeBaseMapper.searchByKeywords(keywords);
}
// 3. 回退到原逻辑
System.out.println("使用原单关键词搜索: " + keyword);
return sysKnowledgeBaseMapper.searchSysKnowledgeBaseByKeyword(keyword);
}
/**
* 关键词提取方法改进版
*/

85
chenhai-system/src/main/resources/mapper/muhu/MuhuFeedMarketMapper.xml

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chenhai.muhu.mapper.MuhuFeedMarketMapper">
<resultMap type="MuhuFeedMarket" id="MuhuFeedMarketResult">
<result property="id" column="id" />
<result property="feedName" column="feed_name" />
<result property="supplier" column="supplier" />
<result property="price" column="price" />
<result property="updateTime" column="update_time" />
<result property="updateDate" column="update_date" />
<result property="createdAt" column="created_at" />
<result property="unit" column="unit" />
</resultMap>
<sql id="selectMuhuFeedMarketVo">
select id, feed_name, supplier, price, update_time, update_date, created_at, unit from muhu_feed_market
</sql>
<select id="selectMuhuFeedMarketList" parameterType="MuhuFeedMarket" resultMap="MuhuFeedMarketResult">
<include refid="selectMuhuFeedMarketVo"/>
<where>
<if test="feedName != null and feedName != ''"> and feed_name like concat('%', #{feedName}, '%')</if>
<if test="supplier != null and supplier != ''"> and supplier = #{supplier}</if>
<if test="price != null "> and price = #{price}</if>
<if test="updateDate != null "> and update_date = #{updateDate}</if>
<if test="createdAt != null "> and created_at = #{createdAt}</if>
<if test="unit != null and unit != ''"> and unit = #{unit}</if>
</where>
</select>
<select id="selectMuhuFeedMarketById" parameterType="Long" resultMap="MuhuFeedMarketResult">
<include refid="selectMuhuFeedMarketVo"/>
where id = #{id}
</select>
<insert id="insertMuhuFeedMarket" parameterType="MuhuFeedMarket" useGeneratedKeys="true" keyProperty="id">
insert into muhu_feed_market
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="feedName != null and feedName != ''">feed_name,</if>
<if test="supplier != null">supplier,</if>
<if test="price != null">price,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateDate != null">update_date,</if>
<if test="createdAt != null">created_at,</if>
<if test="unit != null and unit != ''">unit,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="feedName != null and feedName != ''">#{feedName},</if>
<if test="supplier != null">#{supplier},</if>
<if test="price != null">#{price},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateDate != null">#{updateDate},</if>
<if test="createdAt != null">#{createdAt},</if>
<if test="unit != null and unit != ''">#{unit},</if>
</trim>
</insert>
<update id="updateMuhuFeedMarket" parameterType="MuhuFeedMarket">
update muhu_feed_market
<trim prefix="SET" suffixOverrides=",">
<if test="feedName != null and feedName != ''">feed_name = #{feedName},</if>
<if test="supplier != null">supplier = #{supplier},</if>
<if test="price != null">price = #{price},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateDate != null">update_date = #{updateDate},</if>
<if test="createdAt != null">created_at = #{createdAt},</if>
<if test="unit != null and unit != ''">unit = #{unit},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMuhuFeedMarketById" parameterType="Long">
delete from muhu_feed_market where id = #{id}
</delete>
<delete id="deleteMuhuFeedMarketByIds" parameterType="String">
delete from muhu_feed_market where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

110
chenhai-system/src/main/resources/mapper/muhu/MuhuMarketInfoMapper.xml

@ -1,110 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chenhai.muhu.mapper.MuhuMarketInfoMapper">
<resultMap type="MuhuMarketInfo" id="MuhuMarketInfoResult">
<result property="id" column="id" />
<result property="title" column="title" />
<result property="content" column="content" />
<result property="infoType" column="info_type" />
<result property="publishSource" column="publish_source" />
<result property="region" column="region" />
<result property="attachmentUrl" column="attachment_url" />
<result property="viewCount" column="view_count" />
<result property="publishUserId" column="publish_user_id" />
<result property="isTop" column="is_top" />
<result property="status" column="status" />
<result property="publishTime" column="publish_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectMuhuMarketInfoVo">
select id, title, content, info_type, publish_source, region, attachment_url, view_count, publish_user_id, is_top, status, publish_time, update_time from muhu_market_info
</sql>
<select id="selectMuhuMarketInfoList" parameterType="MuhuMarketInfo" resultMap="MuhuMarketInfoResult">
<include refid="selectMuhuMarketInfoVo"/>
<where>
<if test="title != null and title != ''"> and title = #{title}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="infoType != null and infoType != ''"> and info_type = #{infoType}</if>
<if test="publishSource != null and publishSource != ''"> and publish_source = #{publishSource}</if>
<if test="region != null and region != ''"> and region = #{region}</if>
<if test="attachmentUrl != null and attachmentUrl != ''"> and attachment_url = #{attachmentUrl}</if>
<if test="viewCount != null "> and view_count = #{viewCount}</if>
<if test="publishUserId != null "> and publish_user_id = #{publishUserId}</if>
<if test="isTop != null and isTop != ''"> and is_top = #{isTop}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="publishTime != null "> and publish_time = #{publishTime}</if>
</where>
</select>
<select id="selectMuhuMarketInfoById" parameterType="Long" resultMap="MuhuMarketInfoResult">
<include refid="selectMuhuMarketInfoVo"/>
where id = #{id}
</select>
<insert id="insertMuhuMarketInfo" parameterType="MuhuMarketInfo" useGeneratedKeys="true" keyProperty="id">
insert into muhu_market_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="title != null and title != ''">title,</if>
<if test="content != null and content != ''">content,</if>
<if test="infoType != null and infoType != ''">info_type,</if>
<if test="publishSource != null and publishSource != ''">publish_source,</if>
<if test="region != null">region,</if>
<if test="attachmentUrl != null">attachment_url,</if>
<if test="viewCount != null">view_count,</if>
<if test="publishUserId != null">publish_user_id,</if>
<if test="isTop != null and isTop != ''">is_top,</if>
<if test="status != null and status != ''">status,</if>
<if test="publishTime != null">publish_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="title != null and title != ''">#{title},</if>
<if test="content != null and content != ''">#{content},</if>
<if test="infoType != null and infoType != ''">#{infoType},</if>
<if test="publishSource != null and publishSource != ''">#{publishSource},</if>
<if test="region != null">#{region},</if>
<if test="attachmentUrl != null">#{attachmentUrl},</if>
<if test="viewCount != null">#{viewCount},</if>
<if test="publishUserId != null">#{publishUserId},</if>
<if test="isTop != null and isTop != ''">#{isTop},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="publishTime != null">#{publishTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateMuhuMarketInfo" parameterType="MuhuMarketInfo">
update muhu_market_info
<trim prefix="SET" suffixOverrides=",">
<if test="title != null and title != ''">title = #{title},</if>
<if test="content != null and content != ''">content = #{content},</if>
<if test="infoType != null and infoType != ''">info_type = #{infoType},</if>
<if test="publishSource != null and publishSource != ''">publish_source = #{publishSource},</if>
<if test="region != null">region = #{region},</if>
<if test="attachmentUrl != null">attachment_url = #{attachmentUrl},</if>
<if test="viewCount != null">view_count = #{viewCount},</if>
<if test="publishUserId != null">publish_user_id = #{publishUserId},</if>
<if test="isTop != null and isTop != ''">is_top = #{isTop},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="publishTime != null">publish_time = #{publishTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMuhuMarketInfoById" parameterType="Long">
delete from muhu_market_info where id = #{id}
</delete>
<delete id="deleteMuhuMarketInfoByIds" parameterType="String">
delete from muhu_market_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

131
chenhai-system/src/main/resources/mapper/muhu/MuhuMarketTrendMapper.xml

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chenhai.muhu.mapper.MuhuMarketTrendMapper">
<resultMap type="MuhuMarketTrend" id="MuhuMarketTrendResult">
<result property="id" column="id" />
<result property="title" column="title" />
<result property="infoType" column="info_type" />
<result property="category" column="category" />
<result property="priceIndex" column="price_index" />
<result property="monthCompareRate" column="month_compare_rate" />
<result property="yearCompareRate" column="year_compare_rate" />
<result property="reportDate" column="report_date" />
<result property="region" column="region" />
<result property="severity" column="severity" />
<result property="expectedImpact" column="expected_impact" />
<result property="advice" column="advice" />
<result property="source" column="source" />
<result property="publishDate" column="publish_date" />
<result property="content" column="content" />
<result property="tags" column="tags" />
<result property="createdAt" column="created_at" />
</resultMap>
<sql id="selectMuhuMarketTrendVo">
select id, title, info_type, category, price_index, month_compare_rate, year_compare_rate, report_date, region, severity, expected_impact, advice, source, publish_date, content, tags, created_at from muhu_market_trend
</sql>
<select id="selectMuhuMarketTrendList" parameterType="MuhuMarketTrend" resultMap="MuhuMarketTrendResult">
<include refid="selectMuhuMarketTrendVo"/>
<where>
<if test="title != null and title != ''"> and title = #{title}</if>
<if test="infoType != null and infoType != ''"> and info_type = #{infoType}</if>
<if test="category != null and category != ''"> and category = #{category}</if>
<if test="priceIndex != null "> and price_index = #{priceIndex}</if>
<if test="monthCompareRate != null "> and month_compare_rate = #{monthCompareRate}</if>
<if test="yearCompareRate != null "> and year_compare_rate = #{yearCompareRate}</if>
<if test="reportDate != null and reportDate != ''"> and report_date = #{reportDate}</if>
<if test="region != null and region != ''"> and region = #{region}</if>
<if test="severity != null and severity != ''"> and severity = #{severity}</if>
<if test="expectedImpact != null and expectedImpact != ''"> and expected_impact = #{expectedImpact}</if>
<if test="advice != null and advice != ''"> and advice = #{advice}</if>
<if test="source != null and source != ''"> and source = #{source}</if>
<if test="publishDate != null "> and publish_date = #{publishDate}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="tags != null and tags != ''"> and tags = #{tags}</if>
<if test="createdAt != null "> and created_at = #{createdAt}</if>
</where>
</select>
<select id="selectMuhuMarketTrendById" parameterType="Long" resultMap="MuhuMarketTrendResult">
<include refid="selectMuhuMarketTrendVo"/>
where id = #{id}
</select>
<insert id="insertMuhuMarketTrend" parameterType="MuhuMarketTrend" useGeneratedKeys="true" keyProperty="id">
insert into muhu_market_trend
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="title != null">title,</if>
<if test="infoType != null">info_type,</if>
<if test="category != null">category,</if>
<if test="priceIndex != null">price_index,</if>
<if test="monthCompareRate != null">month_compare_rate,</if>
<if test="yearCompareRate != null">year_compare_rate,</if>
<if test="reportDate != null">report_date,</if>
<if test="region != null">region,</if>
<if test="severity != null">severity,</if>
<if test="expectedImpact != null">expected_impact,</if>
<if test="advice != null">advice,</if>
<if test="source != null">source,</if>
<if test="publishDate != null">publish_date,</if>
<if test="content != null">content,</if>
<if test="tags != null">tags,</if>
<if test="createdAt != null">created_at,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="title != null">#{title},</if>
<if test="infoType != null">#{infoType},</if>
<if test="category != null">#{category},</if>
<if test="priceIndex != null">#{priceIndex},</if>
<if test="monthCompareRate != null">#{monthCompareRate},</if>
<if test="yearCompareRate != null">#{yearCompareRate},</if>
<if test="reportDate != null">#{reportDate},</if>
<if test="region != null">#{region},</if>
<if test="severity != null">#{severity},</if>
<if test="expectedImpact != null">#{expectedImpact},</if>
<if test="advice != null">#{advice},</if>
<if test="source != null">#{source},</if>
<if test="publishDate != null">#{publishDate},</if>
<if test="content != null">#{content},</if>
<if test="tags != null">#{tags},</if>
<if test="createdAt != null">#{createdAt},</if>
</trim>
</insert>
<update id="updateMuhuMarketTrend" parameterType="MuhuMarketTrend">
update muhu_market_trend
<trim prefix="SET" suffixOverrides=",">
<if test="title != null">title = #{title},</if>
<if test="infoType != null">info_type = #{infoType},</if>
<if test="category != null">category = #{category},</if>
<if test="priceIndex != null">price_index = #{priceIndex},</if>
<if test="monthCompareRate != null">month_compare_rate = #{monthCompareRate},</if>
<if test="yearCompareRate != null">year_compare_rate = #{yearCompareRate},</if>
<if test="reportDate != null">report_date = #{reportDate},</if>
<if test="region != null">region = #{region},</if>
<if test="severity != null">severity = #{severity},</if>
<if test="expectedImpact != null">expected_impact = #{expectedImpact},</if>
<if test="advice != null">advice = #{advice},</if>
<if test="source != null">source = #{source},</if>
<if test="publishDate != null">publish_date = #{publishDate},</if>
<if test="content != null">content = #{content},</if>
<if test="tags != null">tags = #{tags},</if>
<if test="createdAt != null">created_at = #{createdAt},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMuhuMarketTrendById" parameterType="Long">
delete from muhu_market_trend where id = #{id}
</delete>
<delete id="deleteMuhuMarketTrendByIds" parameterType="String">
delete from muhu_market_trend where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

124
chenhai-system/src/main/resources/mapper/muhu/MuhuSalesMarketMapper.xml

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chenhai.muhu.mapper.MuhuSalesMarketMapper">
<resultMap type="MuhuSalesMarket" id="MuhuSalesMarketResult">
<result property="id" column="id" />
<result property="productName" column="product_name" />
<result property="productType" column="product_type" />
<result property="price" column="price" />
<result property="unit" column="unit" />
<result property="priceChange" column="price_change" />
<result property="marketName" column="market_name" />
<result property="regionProvince" column="region_province" />
<result property="regionCity" column="region_city" />
<result property="regionDetail" column="region_detail" />
<result property="priceTime" column="price_time" />
<result property="priceDate" column="price_date" />
<result property="updateTime" column="update_time" />
<result property="dataSource" column="data_source" />
<result property="status" column="status" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectMuhuSalesMarketVo">
select id, product_name, product_type, price, unit, price_change, market_name, region_province, region_city, region_detail, price_time, price_date, update_time, data_source, status, remark from muhu_sales_market
</sql>
<select id="selectMuhuSalesMarketList" parameterType="MuhuSalesMarket" resultMap="MuhuSalesMarketResult">
<include refid="selectMuhuSalesMarketVo"/>
<where>
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
<if test="productType != null and productType != ''"> and product_type = #{productType}</if>
<if test="price != null "> and price = #{price}</if>
<if test="unit != null and unit != ''"> and unit = #{unit}</if>
<if test="priceChange != null "> and price_change = #{priceChange}</if>
<if test="marketName != null and marketName != ''"> and market_name like concat('%', #{marketName}, '%')</if>
<if test="regionProvince != null and regionProvince != ''"> and region_province = #{regionProvince}</if>
<if test="regionCity != null and regionCity != ''"> and region_city = #{regionCity}</if>
<if test="regionDetail != null and regionDetail != ''"> and region_detail = #{regionDetail}</if>
<if test="priceTime != null "> and price_time = #{priceTime}</if>
<if test="priceDate != null "> and price_date = #{priceDate}</if>
<if test="dataSource != null and dataSource != ''"> and data_source = #{dataSource}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
</where>
</select>
<select id="selectMuhuSalesMarketById" parameterType="Long" resultMap="MuhuSalesMarketResult">
<include refid="selectMuhuSalesMarketVo"/>
where id = #{id}
</select>
<insert id="insertMuhuSalesMarket" parameterType="MuhuSalesMarket" useGeneratedKeys="true" keyProperty="id">
insert into muhu_sales_market
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="productName != null and productName != ''">product_name,</if>
<if test="productType != null and productType != ''">product_type,</if>
<if test="price != null">price,</if>
<if test="unit != null and unit != ''">unit,</if>
<if test="priceChange != null">price_change,</if>
<if test="marketName != null">market_name,</if>
<if test="regionProvince != null and regionProvince != ''">region_province,</if>
<if test="regionCity != null">region_city,</if>
<if test="regionDetail != null">region_detail,</if>
<if test="priceTime != null">price_time,</if>
<if test="priceDate != null">price_date,</if>
<if test="updateTime != null">update_time,</if>
<if test="dataSource != null">data_source,</if>
<if test="status != null and status != ''">status,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="productName != null and productName != ''">#{productName},</if>
<if test="productType != null and productType != ''">#{productType},</if>
<if test="price != null">#{price},</if>
<if test="unit != null and unit != ''">#{unit},</if>
<if test="priceChange != null">#{priceChange},</if>
<if test="marketName != null">#{marketName},</if>
<if test="regionProvince != null and regionProvince != ''">#{regionProvince},</if>
<if test="regionCity != null">#{regionCity},</if>
<if test="regionDetail != null">#{regionDetail},</if>
<if test="priceTime != null">#{priceTime},</if>
<if test="priceDate != null">#{priceDate},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="dataSource != null">#{dataSource},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateMuhuSalesMarket" parameterType="MuhuSalesMarket">
update muhu_sales_market
<trim prefix="SET" suffixOverrides=",">
<if test="productName != null and productName != ''">product_name = #{productName},</if>
<if test="productType != null and productType != ''">product_type = #{productType},</if>
<if test="price != null">price = #{price},</if>
<if test="unit != null and unit != ''">unit = #{unit},</if>
<if test="priceChange != null">price_change = #{priceChange},</if>
<if test="marketName != null">market_name = #{marketName},</if>
<if test="regionProvince != null and regionProvince != ''">region_province = #{regionProvince},</if>
<if test="regionCity != null">region_city = #{regionCity},</if>
<if test="regionDetail != null">region_detail = #{regionDetail},</if>
<if test="priceTime != null">price_time = #{priceTime},</if>
<if test="priceDate != null">price_date = #{priceDate},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="dataSource != null">data_source = #{dataSource},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMuhuSalesMarketById" parameterType="Long">
delete from muhu_sales_market where id = #{id}
</delete>
<delete id="deleteMuhuSalesMarketByIds" parameterType="String">
delete from muhu_sales_market where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

106
chenhai-system/src/main/resources/mapper/system/KnowledgeBaseMapper.xml

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chenhai.system.mapper.KnowledgeBaseMapper">
<resultMap type="KnowledgeBase" id="KnowledgeBaseResult">
<result property="id" column="id" />
<result property="title" column="title" />
<result property="category" column="category" />
<result property="keywords" column="keywords" />
<result property="summary" column="summary" />
<result property="content" column="content" />
<result property="applicableSpecies" column="applicable_species" />
<result property="sourceName" column="source_name" />
<result property="author" column="author" />
<result property="createdTime" column="created_time" />
<result property="updatedTime" column="updated_time" />
<result property="publishTime" column="publish_time" />
</resultMap>
<sql id="selectKnowledgeBaseVo">
select id, title, category, keywords, summary, content, applicable_species, source_name, author, created_time, updated_time, publish_time from knowledge_base
</sql>
<select id="selectKnowledgeBaseList" parameterType="KnowledgeBase" resultMap="KnowledgeBaseResult">
<include refid="selectKnowledgeBaseVo"/>
<where>
<if test="title != null and title != ''"> and title = #{title}</if>
<if test="category != null and category != ''"> and category = #{category}</if>
<if test="keywords != null and keywords != ''"> and keywords = #{keywords}</if>
<if test="summary != null and summary != ''"> and summary = #{summary}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="applicableSpecies != null and applicableSpecies != ''"> and applicable_species = #{applicableSpecies}</if>
<if test="sourceName != null and sourceName != ''"> and source_name like concat('%', #{sourceName}, '%')</if>
<if test="author != null and author != ''"> and author = #{author}</if>
<if test="createdTime != null "> and created_time = #{createdTime}</if>
<if test="updatedTime != null "> and updated_time = #{updatedTime}</if>
<if test="publishTime != null "> and publish_time = #{publishTime}</if>
</where>
</select>
<select id="selectKnowledgeBaseById" parameterType="Long" resultMap="KnowledgeBaseResult">
<include refid="selectKnowledgeBaseVo"/>
where id = #{id}
</select>
<insert id="insertKnowledgeBase" parameterType="KnowledgeBase" useGeneratedKeys="true" keyProperty="id">
insert into knowledge_base
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="title != null and title != ''">title,</if>
<if test="category != null and category != ''">category,</if>
<if test="keywords != null">keywords,</if>
<if test="summary != null">summary,</if>
<if test="content != null and content != ''">content,</if>
<if test="applicableSpecies != null">applicable_species,</if>
<if test="sourceName != null">source_name,</if>
<if test="author != null">author,</if>
<if test="createdTime != null">created_time,</if>
<if test="updatedTime != null">updated_time,</if>
<if test="publishTime != null">publish_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="title != null and title != ''">#{title},</if>
<if test="category != null and category != ''">#{category},</if>
<if test="keywords != null">#{keywords},</if>
<if test="summary != null">#{summary},</if>
<if test="content != null and content != ''">#{content},</if>
<if test="applicableSpecies != null">#{applicableSpecies},</if>
<if test="sourceName != null">#{sourceName},</if>
<if test="author != null">#{author},</if>
<if test="createdTime != null">#{createdTime},</if>
<if test="updatedTime != null">#{updatedTime},</if>
<if test="publishTime != null">#{publishTime},</if>
</trim>
</insert>
<update id="updateKnowledgeBase" parameterType="KnowledgeBase">
update knowledge_base
<trim prefix="SET" suffixOverrides=",">
<if test="title != null and title != ''">title = #{title},</if>
<if test="category != null and category != ''">category = #{category},</if>
<if test="keywords != null">keywords = #{keywords},</if>
<if test="summary != null">summary = #{summary},</if>
<if test="content != null and content != ''">content = #{content},</if>
<if test="applicableSpecies != null">applicable_species = #{applicableSpecies},</if>
<if test="sourceName != null">source_name = #{sourceName},</if>
<if test="author != null">author = #{author},</if>
<if test="createdTime != null">created_time = #{createdTime},</if>
<if test="updatedTime != null">updated_time = #{updatedTime},</if>
<if test="publishTime != null">publish_time = #{publishTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteKnowledgeBaseById" parameterType="Long">
delete from knowledge_base where id = #{id}
</delete>
<delete id="deleteKnowledgeBaseByIds" parameterType="String">
delete from knowledge_base where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

44
chenhai-ui/src/api/muhu/feed.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询饲料市场列表
export function listFeed(query) {
return request({
url: '/muhu/feed/list',
method: 'get',
params: query
})
}
// 查询饲料市场详细
export function getFeed(id) {
return request({
url: '/muhu/feed/' + id,
method: 'get'
})
}
// 新增饲料市场
export function addFeed(data) {
return request({
url: '/muhu/feed',
method: 'post',
data: data
})
}
// 修改饲料市场
export function updateFeed(data) {
return request({
url: '/muhu/feed',
method: 'put',
data: data
})
}
// 删除饲料市场
export function delFeed(id) {
return request({
url: '/muhu/feed/' + id,
method: 'delete'
})
}

44
chenhai-ui/src/api/muhu/market.js

@ -1,44 +0,0 @@
import request from '@/utils/request'
// 查询市场信息列表
export function listMarket(query) {
return request({
url: '/muhu/market/list',
method: 'get',
params: query
})
}
// 查询市场信息详细
export function getMarket(id) {
return request({
url: '/muhu/market/' + id,
method: 'get'
})
}
// 新增市场信息
export function addMarket(data) {
return request({
url: '/muhu/market',
method: 'post',
data: data
})
}
// 修改市场信息
export function updateMarket(data) {
return request({
url: '/muhu/market',
method: 'put',
data: data
})
}
// 删除市场信息
export function delMarket(id) {
return request({
url: '/muhu/market/' + id,
method: 'delete'
})
}

44
chenhai-ui/src/api/muhu/sales.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询销售市场列表
export function listSales(query) {
return request({
url: '/muhu/sales/list',
method: 'get',
params: query
})
}
// 查询销售市场详细
export function getSales(id) {
return request({
url: '/muhu/sales/' + id,
method: 'get'
})
}
// 新增销售市场
export function addSales(data) {
return request({
url: '/muhu/sales',
method: 'post',
data: data
})
}
// 修改销售市场
export function updateSales(data) {
return request({
url: '/muhu/sales',
method: 'put',
data: data
})
}
// 删除销售市场
export function delSales(id) {
return request({
url: '/muhu/sales/' + id,
method: 'delete'
})
}

44
chenhai-ui/src/api/muhu/trend.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询市场趋势列表
export function listTrend(query) {
return request({
url: '/muhu/trend/list',
method: 'get',
params: query
})
}
// 查询市场趋势详细
export function getTrend(id) {
return request({
url: '/muhu/trend/' + id,
method: 'get'
})
}
// 新增市场趋势
export function addTrend(data) {
return request({
url: '/muhu/trend',
method: 'post',
data: data
})
}
// 修改市场趋势
export function updateTrend(data) {
return request({
url: '/muhu/trend',
method: 'put',
data: data
})
}
// 删除市场趋势
export function delTrend(id) {
return request({
url: '/muhu/trend/' + id,
method: 'delete'
})
}

287
chenhai-ui/src/views/muhu/feed/index.vue

@ -0,0 +1,287 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="饲料名称" prop="feedName">
<el-input
v-model="queryParams.feedName"
placeholder="请输入饲料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商名称" prop="supplier">
<el-input
v-model="queryParams.supplier"
placeholder="请输入供应商名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['muhu:feed:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['muhu:feed:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['muhu:feed:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['muhu:feed:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="feedList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="饲料名称" align="center" prop="feedName" />
<el-table-column label="供应商名称" align="center" prop="supplier" />
<el-table-column label="价格" align="center" prop="price" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="日期" align="center" prop="createdAt" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['muhu:feed:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['muhu:feed:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改饲料市场对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="饲料名称" prop="feedName">
<el-input v-model="form.feedName" placeholder="请输入饲料名称" />
</el-form-item>
<el-form-item label="供应商名称" prop="supplier">
<el-input v-model="form.supplier" placeholder="请输入供应商名称" />
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="form.price" placeholder="请输入价格" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFeed, getFeed, delFeed, addFeed, updateFeed } from "@/api/muhu/feed"
export default {
name: "Feed",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
feedList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
feedName: null,
supplier: null,
price: null,
updateDate: null,
createdAt: null
},
//
form: {},
//
rules: {
feedName: [
{ required: true, message: "饲料名称不能为空", trigger: "blur" }
],
price: [
{ required: true, message: "价格不能为空", trigger: "blur" }
],
createdAt: [
{ required: true, message: "记录创建时间不能为空", trigger: "blur" }
]
}
}
},
created() {
this.getList()
},
methods: {
/** 查询饲料市场列表 */
getList() {
this.loading = true
listFeed(this.queryParams).then(response => {
this.feedList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
id: null,
feedName: null,
supplier: null,
price: null,
updateTime: null,
updateDate: null,
createdAt: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加饲料市场"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getFeed(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改饲料市场"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateFeed(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addFeed(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除饲料市场编号为"' + ids + '"的数据项?').then(function() {
return delFeed(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('muhu/feed/export', {
...this.queryParams
}, `feed_${new Date().getTime()}.xlsx`)
}
}
}
</script>

chenhai-ui/src/views/muhu/market/index.vue → chenhai-ui/src/views/muhu/sales/index.vue

316
chenhai-ui/src/views/muhu/trend/index.vue

@ -0,0 +1,316 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="标题" prop="title">
<el-input
v-model="queryParams.title"
placeholder="请输入标题"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="趋势类型" prop="category">
<el-input
v-model="queryParams.category"
placeholder="请选择趋势类型"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['muhu:trend:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['muhu:trend:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['muhu:trend:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['muhu:trend:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="trendList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="趋势类型" align="center" prop="category" />
<el-table-column label="信息来源" align="center" prop="source" />
<el-table-column label="内容" align="center" prop="content" />
<el-table-column label="标签" align="center" prop="tags" />
<el-table-column label="发布日期" align="center" prop="publishDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.publishDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['muhu:trend:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['muhu:trend:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改市场趋势对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="趋势类型" prop="category">
<el-select v-model="form.category" placeholder="请选择趋势类型" clearable>
<el-option v-for="dict in dict.type.category_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="信息来源" prop="source">
<el-input v-model="form.source" placeholder="请输入信息来源" />
</el-form-item>
<el-form-item label="内容">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="标签" prop="tags">
<el-select v-model="form.tags" placeholder="请选择标签" clearable>
<el-option v-for="dict in dict.type.tags_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="发布日期" prop="publishDate">
<el-date-picker clearable
v-model="form.publishDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布日期">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listTrend, getTrend, delTrend, addTrend, updateTrend } from "@/api/muhu/trend"
export default {
name: "Trend",
dicts: ['category_type', 'tags_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
trendList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
title: null,
infoType: null,
category: null,
priceIndex: null,
monthCompareRate: null,
yearCompareRate: null,
reportDate: null,
region: null,
severity: null,
expectedImpact: null,
advice: null,
source: null,
publishDate: null,
content: null,
tags: null,
createdAt: null
},
//
form: {},
//
rules: {
}
}
},
created() {
this.getList()
},
methods: {
/** 查询市场趋势列表 */
getList() {
this.loading = true
listTrend(this.queryParams).then(response => {
this.trendList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
id: null,
title: null,
infoType: null,
category: null,
priceIndex: null,
monthCompareRate: null,
yearCompareRate: null,
reportDate: null,
region: null,
severity: null,
expectedImpact: null,
advice: null,
source: null,
publishDate: null,
content: null,
tags: null,
createdAt: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加市场趋势"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getTrend(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改市场趋势"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateTrend(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addTrend(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除市场趋势编号为"' + ids + '"的数据项?').then(function() {
return delTrend(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('muhu/trend/export', {
...this.queryParams
}, `trend_${new Date().getTime()}.xlsx`)
}
}
}
</script>
Loading…
Cancel
Save