在若依3.8.1基本上,新建privavte-farm模块,用于私家农场(CSA,社区支持农业)系统的开发。
对系统进行了配置,并增加客户管理-访客管理示例功能。
This commit is contained in:
@ -0,0 +1,105 @@
|
||||
package com.jlt.farming.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.jlt.farming.crm.domain.Visitor;
|
||||
import com.jlt.farming.crm.service.IVisitorService;
|
||||
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.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 访客信息Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-02-08
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/crm/visitor")
|
||||
public class VisitorController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IVisitorService VisitorService;
|
||||
|
||||
/**
|
||||
* 查询访客信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('crm:visitor:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Visitor Visitor)
|
||||
{
|
||||
startPage();
|
||||
List<Visitor> list = VisitorService.selectVisitorList(Visitor);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出访客信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('crm:visitor:export')")
|
||||
@Log(title = "访客信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, Visitor Visitor)
|
||||
{
|
||||
List<Visitor> list = VisitorService.selectVisitorList(Visitor);
|
||||
ExcelUtil<Visitor> util = new ExcelUtil<Visitor>(Visitor.class);
|
||||
util.exportExcel(response, list, "访客信息数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取访客信息详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('crm:visitor:query')")
|
||||
@GetMapping(value = "/{visitorId}")
|
||||
public AjaxResult getInfo(@PathVariable("visitorId") Long visitorId)
|
||||
{
|
||||
return AjaxResult.success(VisitorService.selectVisitorByVisitorId(visitorId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增访客信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('crm:visitor:add')")
|
||||
@Log(title = "访客信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody Visitor Visitor)
|
||||
{
|
||||
return toAjax(VisitorService.insertVisitor(Visitor));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改访客信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('crm:visitor:edit')")
|
||||
@Log(title = "访客信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody Visitor Visitor)
|
||||
{
|
||||
return toAjax(VisitorService.updateVisitor(Visitor));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除访客信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('crm:visitor:remove')")
|
||||
@Log(title = "访客信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{visitorIds}")
|
||||
public AjaxResult remove(@PathVariable Long[] visitorIds)
|
||||
{
|
||||
return toAjax(VisitorService.deleteVisitorByVisitorIds(visitorIds));
|
||||
}
|
||||
}
|
@ -0,0 +1,129 @@
|
||||
package com.jlt.farming.crm.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.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 访客信息对象 pr_visitor
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-02-08
|
||||
*/
|
||||
public class Visitor extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 访客Id */
|
||||
private Long visitorId;
|
||||
|
||||
/** 访客姓名 */
|
||||
@Excel(name = "访客姓名")
|
||||
private String visitorName;
|
||||
|
||||
/** 访客电话 */
|
||||
@Excel(name = "访客电话")
|
||||
private String phone;
|
||||
|
||||
/** 访客事由 */
|
||||
@Excel(name = "访客事由")
|
||||
private String matter;
|
||||
|
||||
/** 待办事项 */
|
||||
@Excel(name = "待办事项")
|
||||
private String backlog;
|
||||
|
||||
/** 访问时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date visitTime;
|
||||
|
||||
/** 状态(0正常 1停用) */
|
||||
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
|
||||
private String status;
|
||||
|
||||
public void setVisitorId(Long visitorId)
|
||||
{
|
||||
this.visitorId = visitorId;
|
||||
}
|
||||
|
||||
public Long getVisitorId()
|
||||
{
|
||||
return visitorId;
|
||||
}
|
||||
public void setVisitorName(String visitorName)
|
||||
{
|
||||
this.visitorName = visitorName;
|
||||
}
|
||||
|
||||
public String getVisitorName()
|
||||
{
|
||||
return visitorName;
|
||||
}
|
||||
public void setPhone(String phone)
|
||||
{
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
public String getPhone()
|
||||
{
|
||||
return phone;
|
||||
}
|
||||
public void setMatter(String matter)
|
||||
{
|
||||
this.matter = matter;
|
||||
}
|
||||
|
||||
public String getMatter()
|
||||
{
|
||||
return matter;
|
||||
}
|
||||
public void setBacklog(String backlog)
|
||||
{
|
||||
this.backlog = backlog;
|
||||
}
|
||||
|
||||
public String getBacklog()
|
||||
{
|
||||
return backlog;
|
||||
}
|
||||
public void setVisitTime(Date visitTime)
|
||||
{
|
||||
this.visitTime = visitTime;
|
||||
}
|
||||
|
||||
public Date getVisitTime()
|
||||
{
|
||||
return visitTime;
|
||||
}
|
||||
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("visitorId", getVisitorId())
|
||||
.append("visitorName", getVisitorName())
|
||||
.append("phone", getPhone())
|
||||
.append("matter", getMatter())
|
||||
.append("backlog", getBacklog())
|
||||
.append("visitTime", getVisitTime())
|
||||
.append("status", getStatus())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.jlt.farming.crm.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.jlt.farming.crm.domain.Visitor;
|
||||
|
||||
/**
|
||||
* 访客信息Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-02-08
|
||||
*/
|
||||
public interface VisitorMapper
|
||||
{
|
||||
/**
|
||||
* 查询访客信息
|
||||
*
|
||||
* @param visitorId 访客信息主键
|
||||
* @return 访客信息
|
||||
*/
|
||||
public Visitor selectVisitorByVisitorId(Long visitorId);
|
||||
|
||||
/**
|
||||
* 查询访客信息列表
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 访客信息集合
|
||||
*/
|
||||
public List<Visitor> selectVisitorList(Visitor Visitor);
|
||||
|
||||
/**
|
||||
* 新增访客信息
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertVisitor(Visitor Visitor);
|
||||
|
||||
/**
|
||||
* 修改访客信息
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateVisitor(Visitor Visitor);
|
||||
|
||||
/**
|
||||
* 删除访客信息
|
||||
*
|
||||
* @param visitorId 访客信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteVisitorByVisitorId(Long visitorId);
|
||||
|
||||
/**
|
||||
* 批量删除访客信息
|
||||
*
|
||||
* @param visitorIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteVisitorByVisitorIds(Long[] visitorIds);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.jlt.farming.crm.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.jlt.farming.crm.domain.Visitor;
|
||||
|
||||
/**
|
||||
* 访客信息Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-02-08
|
||||
*/
|
||||
public interface IVisitorService
|
||||
{
|
||||
/**
|
||||
* 查询访客信息
|
||||
*
|
||||
* @param visitorId 访客信息主键
|
||||
* @return 访客信息
|
||||
*/
|
||||
public Visitor selectVisitorByVisitorId(Long visitorId);
|
||||
|
||||
/**
|
||||
* 查询访客信息列表
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 访客信息集合
|
||||
*/
|
||||
public List<Visitor> selectVisitorList(Visitor Visitor);
|
||||
|
||||
/**
|
||||
* 新增访客信息
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertVisitor(Visitor Visitor);
|
||||
|
||||
/**
|
||||
* 修改访客信息
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateVisitor(Visitor Visitor);
|
||||
|
||||
/**
|
||||
* 批量删除访客信息
|
||||
*
|
||||
* @param visitorIds 需要删除的访客信息主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteVisitorByVisitorIds(Long[] visitorIds);
|
||||
|
||||
/**
|
||||
* 删除访客信息信息
|
||||
*
|
||||
* @param visitorId 访客信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteVisitorByVisitorId(Long visitorId);
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
package com.jlt.farming.crm.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.jlt.farming.crm.domain.Visitor;
|
||||
import com.jlt.farming.crm.mapper.VisitorMapper;
|
||||
import com.jlt.farming.crm.service.IVisitorService;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 访客信息Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-02-08
|
||||
*/
|
||||
@Service
|
||||
public class VisitorServiceImpl implements IVisitorService
|
||||
{
|
||||
@Autowired
|
||||
private VisitorMapper VisitorMapper;
|
||||
|
||||
/**
|
||||
* 查询访客信息
|
||||
*
|
||||
* @param visitorId 访客信息主键
|
||||
* @return 访客信息
|
||||
*/
|
||||
@Override
|
||||
public Visitor selectVisitorByVisitorId(Long visitorId)
|
||||
{
|
||||
return VisitorMapper.selectVisitorByVisitorId(visitorId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询访客信息列表
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 访客信息
|
||||
*/
|
||||
@Override
|
||||
public List<Visitor> selectVisitorList(Visitor Visitor)
|
||||
{
|
||||
return VisitorMapper.selectVisitorList(Visitor);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增访客信息
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertVisitor(Visitor Visitor)
|
||||
{
|
||||
Visitor.setCreateTime(DateUtils.getNowDate());
|
||||
return VisitorMapper.insertVisitor(Visitor);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改访客信息
|
||||
*
|
||||
* @param Visitor 访客信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateVisitor(Visitor Visitor)
|
||||
{
|
||||
Visitor.setUpdateTime(DateUtils.getNowDate());
|
||||
return VisitorMapper.updateVisitor(Visitor);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除访客信息
|
||||
*
|
||||
* @param visitorIds 需要删除的访客信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteVisitorByVisitorIds(Long[] visitorIds)
|
||||
{
|
||||
return VisitorMapper.deleteVisitorByVisitorIds(visitorIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除访客信息信息
|
||||
*
|
||||
* @param visitorId 访客信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteVisitorByVisitorId(Long visitorId)
|
||||
{
|
||||
return VisitorMapper.deleteVisitorByVisitorId(visitorId);
|
||||
}
|
||||
}
|
101
private-farm/src/main/resources/mapper/crm/VisitorMapper.xml
Normal file
101
private-farm/src/main/resources/mapper/crm/VisitorMapper.xml
Normal file
@ -0,0 +1,101 @@
|
||||
<?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.jlt.farming.crm.mapper.VisitorMapper">
|
||||
|
||||
<resultMap type="Visitor" id="VisitorResult">
|
||||
<result property="visitorId" column="visitor_id" />
|
||||
<result property="visitorName" column="visitor_name" />
|
||||
<result property="phone" column="phone" />
|
||||
<result property="matter" column="matter" />
|
||||
<result property="backlog" column="backlog" />
|
||||
<result property="visitTime" column="visit_time" />
|
||||
<result property="status" column="status" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectVisitorVo">
|
||||
select visitor_id, visitor_name, phone, matter, backlog, visit_time, status, create_by, create_time, update_by, update_time, remark from crm_visitor
|
||||
</sql>
|
||||
|
||||
<select id="selectVisitorList" parameterType="Visitor" resultMap="VisitorResult">
|
||||
<include refid="selectVisitorVo"/>
|
||||
<where>
|
||||
<if test="visitorName != null and visitorName != ''"> and visitor_name like concat('%', #{visitorName}, '%')</if>
|
||||
<if test="phone != null and phone != ''"> and phone like concat('%', #{phone}, '%')</if>
|
||||
<if test="matter != null and matter != ''"> and matter like concat('%', #{matter}, '%')</if>
|
||||
<if test="backlog != null and backlog != ''"> and backlog like concat('%', #{backlog}, '%')</if>
|
||||
<if test="params.beginVisitTime != null and params.beginVisitTime != '' and params.endVisitTime != null and params.endVisitTime != ''"> and visit_time between #{params.beginVisitTime} and #{params.endVisitTime}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectVisitorByVisitorId" parameterType="Long" resultMap="VisitorResult">
|
||||
<include refid="selectVisitorVo"/>
|
||||
where visitor_id = #{visitorId}
|
||||
</select>
|
||||
|
||||
<insert id="insertVisitor" parameterType="Visitor" useGeneratedKeys="true" keyProperty="visitorId">
|
||||
insert into crm_visitor
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="visitorName != null and visitorName != ''">visitor_name,</if>
|
||||
<if test="phone != null and phone != ''">phone,</if>
|
||||
<if test="matter != null and matter != ''">matter,</if>
|
||||
<if test="backlog != null">backlog,</if>
|
||||
<if test="visitTime != null">visit_time,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="visitorName != null and visitorName != ''">#{visitorName},</if>
|
||||
<if test="phone != null and phone != ''">#{phone},</if>
|
||||
<if test="matter != null and matter != ''">#{matter},</if>
|
||||
<if test="backlog != null">#{backlog},</if>
|
||||
<if test="visitTime != null">#{visitTime},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateVisitor" parameterType="Visitor">
|
||||
update crm_visitor
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="visitorName != null and visitorName != ''">visitor_name = #{visitorName},</if>
|
||||
<if test="phone != null and phone != ''">phone = #{phone},</if>
|
||||
<if test="matter != null and matter != ''">matter = #{matter},</if>
|
||||
<if test="backlog != null">backlog = #{backlog},</if>
|
||||
<if test="visitTime != null">visit_time = #{visitTime},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
</trim>
|
||||
where visitor_id = #{visitorId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteVisitorByVisitorId" parameterType="Long">
|
||||
delete from crm_visitor where visitor_id = #{visitorId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteVisitorByVisitorIds" parameterType="String">
|
||||
delete from crm_visitor where visitor_id in
|
||||
<foreach item="visitorId" collection="array" open="(" separator="," close=")">
|
||||
#{visitorId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
Reference in New Issue
Block a user