diff --git a/src/main/java/com/qs/serve/modules/biz/controller/BizCusVisitController.java b/src/main/java/com/qs/serve/modules/biz/controller/BizCusVisitController.java new file mode 100644 index 00000000..e8690c7a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/controller/BizCusVisitController.java @@ -0,0 +1,120 @@ +package com.qs.serve.modules.biz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.StringUtils; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.biz.entity.BizCusVisit; +import com.qs.serve.modules.biz.service.BizCusVisitService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 业务 拜访日志 + * @author YenHex + * @since 2023-03-24 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("biz/cusVisit") +public class BizCusVisitController { + + private BizCusVisitService bizCusVisitService; + + /** + * 列表 + * @param param + * @return + */ + //@GetMapping("/list") + @PreAuthorize("hasRole('biz:cusVisit:query')") + public R> getList(BizCusVisit param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + PageUtil.startPage(); + List list = bizCusVisitService.list(lqw); + return R.ok(list); + } + + /** + * 翻页 + * @param param + * @return + */ + //@GetMapping("/page") + @PreAuthorize("hasRole('biz:cusVisit:query')") + public R> getPage(BizCusVisit param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + PageUtil.startPage(); + List list = bizCusVisitService.list(lqw); + return R.byPageHelperList(list); + } + + /** + * ID查询 + * @param id + * @return + */ + //@GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.QUERY) + @PreAuthorize("hasRole('biz:cusVisit:query')") + public R getById(@PathVariable("id") String id){ + BizCusVisit bizCusVisit = bizCusVisitService.getById(id); + return R.ok(bizCusVisit); + } + + + + /** + * 更新 + * @param param + * @return + */ + //@PostMapping("/updateById") + @SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.UPDATE) + @PreAuthorize("hasRole('biz:cusVisit:update')") + public R updateById(@RequestBody @Valid BizCusVisit param){ + boolean result = bizCusVisitService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增 + * @param param + * @return + */ + //@PostMapping("/save") + @SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.INSERT) + @PreAuthorize("hasRole('biz:cusVisit:insert')") + public R save(@RequestBody @Valid BizCusVisit param){ + boolean result = bizCusVisitService.save(param); + return R.isTrue(result); + } + + /** + * 删除 + * @param ids + * @return + */ + @DeleteMapping("/deleteById/{ids}") + @SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.DELETE) + @PreAuthorize("hasRole('biz:cusVisit:delete')") + public R deleteById(@PathVariable("ids") String ids){ + List idsLong = StringUtils.splitIdLong(ids); + boolean result = bizCusVisitService.removeByIds(idsLong); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/BizCusVisit.java b/src/main/java/com/qs/serve/modules/biz/entity/BizCusVisit.java new file mode 100644 index 00000000..77fdd350 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/BizCusVisit.java @@ -0,0 +1,135 @@ +package com.qs.serve.modules.biz.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler; +import lombok.Data; +import org.apache.ibatis.type.JdbcType; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 拜访日志 实体类 + * @author YenHex + * @since 2023-03-24 + */ +@Data +@TableName(value = "biz_cus_visit",autoResultMap = true) +public class BizCusVisit implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 图片 */ + @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) + private String[] photos; + + /** 纬度 */ + @Length(max = 255,message = "纬度长度不能超过255字") + private String localX; + + /** 经度 */ + @Length(max = 255,message = "经度长度不能超过255字") + private String localY; + + /** 地址 */ + @Length(max = 512,message = "地址长度不能超过512字") + private String address; + + /** 类型:单选 【潜在客户签到;培训会议;其他定点签到;在家办公 】 */ + @Length(max = 255,message = "类型:单选 【潜在客户签到;培训会议;其他定点签到;在家办公 】长度不能超过255字") + private String signType; + + /** 拜访人id */ + @Length(max = 32,message = "拜访人id长度不能超过32字") + private String visitorId; + + /** 拜访人 */ + @Length(max = 32,message = "拜访人长度不能超过32字") + private String visitorName; + + /** 客户id */ + @Length(max = 32,message = "客户id长度不能超过32字") + private String customerId; + + /** 客户名 */ + @Length(max = 255,message = "客户名长度不能超过255字") + private String customerName; + + /** 客户编号 */ + @Length(max = 255,message = "客户编号长度不能超过255字") + private String customerCode; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + + public static BizCusVisit toNewObject(BizCusVisit source){ + BizCusVisit cusVisit = new BizCusVisit(); + cusVisit.setId(source.getId()); + cusVisit.setPhotos(source.getPhotos()); + cusVisit.setLocalX(source.getLocalX()); + cusVisit.setLocalY(source.getLocalY()); + cusVisit.setAddress(source.getAddress()); + cusVisit.setSignType(source.getSignType()); + cusVisit.setVisitorId(source.getVisitorId()); + cusVisit.setVisitorName(source.getVisitorName()); + cusVisit.setCustomerId(source.getCustomerId()); + cusVisit.setCustomerName(source.getCustomerName()); + cusVisit.setCustomerCode(source.getCustomerCode()); + cusVisit.setRemark(source.getRemark()); + cusVisit.setCreateTime(source.getCreateTime()); + cusVisit.setUpdateTime(source.getUpdateTime()); + cusVisit.setTenantId(source.getTenantId()); + cusVisit.setDelFlag(source.getDelFlag()); + cusVisit.setCreateBy(source.getCreateBy()); + cusVisit.setUpdateBy(source.getUpdateBy()); + return cusVisit; + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/mapper/BizCusVisitMapper.java b/src/main/java/com/qs/serve/modules/biz/mapper/BizCusVisitMapper.java new file mode 100644 index 00000000..1a27fcb4 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/mapper/BizCusVisitMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.biz.entity.BizCusVisit; + +/** + * 拜访日志 Mapper + * @author YenHex + * @date 2023-03-24 + */ +public interface BizCusVisitMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/BizCusVisitService.java b/src/main/java/com/qs/serve/modules/biz/service/BizCusVisitService.java new file mode 100644 index 00000000..f4896c1c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/BizCusVisitService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.biz.entity.BizCusVisit; + +/** + * 拜访日志 服务接口 + * @author YenHex + * @date 2023-03-24 + */ +public interface BizCusVisitService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/impl/BizCusVisitServiceImpl.java b/src/main/java/com/qs/serve/modules/biz/service/impl/BizCusVisitServiceImpl.java new file mode 100644 index 00000000..72473814 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/impl/BizCusVisitServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.biz.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.biz.entity.BizCusVisit; +import com.qs.serve.modules.biz.service.BizCusVisitService; +import com.qs.serve.modules.biz.mapper.BizCusVisitMapper; + +/** + * 拜访日志 服务实现类 + * @author YenHex + * @since 2023-03-24 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BizCusVisitServiceImpl extends ServiceImpl implements BizCusVisitService { + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java b/src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java index 19387a1e..60248cd6 100644 --- a/src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java +++ b/src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java @@ -87,6 +87,11 @@ public class SysAttachController { return R.error("上传失败"); } + /** + * 保存 + * @param attach + * @return + */ @PostMapping("/save") public R upload(@RequestBody SysAttach attach){ attach.setId(null);