Browse Source

debug

contract
Yen 2 years ago
parent
commit
606a251df4
  1. 1
      src/main/java/com/qs/serve/common/model/enums/SystemModule.java
  2. 12
      src/main/java/com/qs/serve/modules/baz/common/BazTargetType.java
  3. 119
      src/main/java/com/qs/serve/modules/baz/controller/BazVisitController.java
  4. 143
      src/main/java/com/qs/serve/modules/baz/controller/BazVisitFlowController.java
  5. 121
      src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java
  6. 95
      src/main/java/com/qs/serve/modules/baz/entity/BazVisit.java
  7. 118
      src/main/java/com/qs/serve/modules/baz/entity/BazVisitFlow.java
  8. 140
      src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java
  9. 66
      src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitFlowBo.java
  10. 30
      src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitFlowSortBo.java
  11. 107
      src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitInstanceBo.java
  12. 57
      src/main/java/com/qs/serve/modules/baz/entity/so/BazVisitFlowSo.java
  13. 62
      src/main/java/com/qs/serve/modules/baz/entity/so/BazVisitInstanceSo.java
  14. 14
      src/main/java/com/qs/serve/modules/baz/mapper/BazVisitFlowMapper.java
  15. 14
      src/main/java/com/qs/serve/modules/baz/mapper/BazVisitInstanceMapper.java
  16. 14
      src/main/java/com/qs/serve/modules/baz/mapper/BazVisitMapper.java
  17. 17
      src/main/java/com/qs/serve/modules/baz/service/BazVisitFlowService.java
  18. 14
      src/main/java/com/qs/serve/modules/baz/service/BazVisitInstanceService.java
  19. 14
      src/main/java/com/qs/serve/modules/baz/service/BazVisitService.java
  20. 51
      src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitFlowServiceImpl.java
  21. 22
      src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java
  22. 22
      src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitServiceImpl.java
  23. 30
      src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java
  24. 7
      src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java

1
src/main/java/com/qs/serve/common/model/enums/SystemModule.java

@ -12,6 +12,7 @@ import lombok.Getter;
public enum SystemModule { public enum SystemModule {
QUESTION("qms","问卷"), QUESTION("qms","问卷"),
BAZ("baz","拜访"),
Policy("tzc","政策"), Policy("tzc","政策"),
Payment("pay","支付"), Payment("pay","支付"),
Budget("budget","预算"), Budget("budget","预算"),

12
src/main/java/com/qs/serve/modules/baz/common/BazTargetType.java

@ -0,0 +1,12 @@
package com.qs.serve.modules.baz.common;
/**
* @author YenHex
* @since 2023/4/7
*/
public interface BazTargetType {
String POINT = "point";
String CUSTOMER = "customer";
}

119
src/main/java/com/qs/serve/modules/baz/controller/BazVisitController.java

@ -0,0 +1,119 @@
package com.qs.serve.modules.baz.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.baz.entity.BazVisit;
import com.qs.serve.modules.baz.service.BazVisitService;
import javax.validation.Valid;
import java.util.List;
/**
* 拜访模块 拜访
* @author YenHex
* @since 2023-04-07
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("baz/visit")
public class BazVisitController {
private BazVisitService bazVisitService;
/**
* 列表
* @param param
* @return
*/
@GetMapping("/list")
public R<List<BazVisit>> getList(BazVisit param){
LambdaQueryWrapper<BazVisit> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<BazVisit> list = bazVisitService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
//@GetMapping("/page")
@PreAuthorize("hasRole('baz:visit:query')")
public R<PageVo<BazVisit>> getPage(BazVisit param){
LambdaQueryWrapper<BazVisit> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<BazVisit> list = bazVisitService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
//@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BAZ, title = "拜访", biz = BizType.QUERY)
@PreAuthorize("hasRole('baz:visit:query')")
public R<BazVisit> getById(@PathVariable("id") String id){
BazVisit bazVisit = bazVisitService.getById(id);
return R.ok(bazVisit);
}
/**
* 更新
* @param param
* @return
*/
//@PostMapping("/updateById")
@SysLog(module = SystemModule.BAZ, title = "拜访", biz = BizType.UPDATE)
@PreAuthorize("hasRole('baz:visit:update')")
public R<?> updateById(@RequestBody @Valid BazVisit param){
boolean result = bazVisitService.updateById(param);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
//@PostMapping("/save")
@SysLog(module = SystemModule.BAZ, title = "拜访", biz = BizType.INSERT)
@PreAuthorize("hasRole('baz:visit:insert')")
public R<?> save(@RequestBody @Valid BazVisit param){
boolean result = bazVisitService.save(param);
return R.isTrue(result);
}
/**
* 删除
* @param ids
* @return
*/
//@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.BAZ, title = "拜访", biz = BizType.DELETE)
@PreAuthorize("hasRole('baz:visit:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = bazVisitService.removeByIds(idsLong);
return R.isTrue(result);
}
}

143
src/main/java/com/qs/serve/modules/baz/controller/BazVisitFlowController.java

@ -0,0 +1,143 @@
package com.qs.serve.modules.baz.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 com.qs.serve.modules.baz.entity.bo.BazVisitFlowSortBo;
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.baz.entity.so.BazVisitFlowSo;
import com.qs.serve.modules.baz.entity.bo.BazVisitFlowBo;
import com.qs.serve.modules.baz.entity.BazVisitFlow;
import com.qs.serve.modules.baz.service.BazVisitFlowService;
import javax.validation.Valid;
import java.util.Comparator;
import java.util.List;
/**
* 拜访模块 拜访流程
* @author YenHex
* @since 2023-04-07
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("baz/visitFlow")
public class BazVisitFlowController {
private BazVisitFlowService bazVisitFlowService;
/**
* 列表
* @param param
* @return
*/
@GetMapping("/list")
public R<List<BazVisitFlow>> getList(BazVisitFlowSo param){
BazVisitFlow entity = CopierUtil.copy(param,new BazVisitFlow());
LambdaQueryWrapper<BazVisitFlow> lqw = new LambdaQueryWrapper<>(entity);
lqw.orderByAsc(BazVisitFlow::getFlowSort);
List<BazVisitFlow> list = bazVisitFlowService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<BazVisitFlow>> getPage(BazVisitFlowSo param){
BazVisitFlow entity = CopierUtil.copy(param,new BazVisitFlow());
LambdaQueryWrapper<BazVisitFlow> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
lqw.orderByAsc(BazVisitFlow::getFlowSort);
List<BazVisitFlow> list = bazVisitFlowService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BAZ, title = "拜访流程", biz = BizType.QUERY)
public R<BazVisitFlow> getById(@PathVariable("id") String id){
BazVisitFlow bazVisitFlow = bazVisitFlowService.getById(id);
return R.ok(bazVisitFlow);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BAZ, title = "拜访流程", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid BazVisitFlowBo param){
if(param.getId()==null){
return R.error2();
}
bazVisitFlowService.modify(param);
return R.ok();
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BAZ, title = "拜访流程", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid BazVisitFlowBo param){
param.setId(null);
BazVisitFlow visitFlow = bazVisitFlowService.modify(param);
return R.ok(visitFlow);
}
/**
* 更新排序
* @param param
* @return
*/
@PostMapping("/sort")
@SysLog(module = SystemModule.BAZ, title = "拜访流程", biz = BizType.INSERT)
public R<?> sort(@RequestBody @Valid BazVisitFlowSortBo param){
List<BazVisitFlowSortBo.Item> items = param.getSortValues();
items.sort(Comparator.comparingInt(BazVisitFlowSortBo.Item::getSortValue));
for (int i = 0; i < items.size(); i++) {
BazVisitFlowSortBo.Item item = items.get(i);
BazVisitFlow visitFlow = new BazVisitFlow();
visitFlow.setId(item.getId());
visitFlow.setFlowSort(i+1);
bazVisitFlowService.updateById(visitFlow);
}
return R.ok();
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.BAZ, title = "拜访流程", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = bazVisitFlowService.removeByIds(idsLong);
return R.isTrue(result);
}
}

121
src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java

@ -0,0 +1,121 @@
package com.qs.serve.modules.baz.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.baz.entity.so.BazVisitInstanceSo;
import com.qs.serve.modules.baz.entity.bo.BazVisitInstanceBo;
import com.qs.serve.modules.baz.entity.BazVisitInstance;
import com.qs.serve.modules.baz.service.BazVisitInstanceService;
import javax.validation.Valid;
import java.util.List;
/**
* 拜访模块 拜访实例
* @author YenHex
* @since 2023-04-07
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("baz/visitInstance")
public class BazVisitInstanceController {
private BazVisitInstanceService bazVisitInstanceService;
/**
* 列表
* @param param
* @return
*/
//@GetMapping("/list")
@PreAuthorize("hasRole('baz:visitInstance:query')")
public R<List<BazVisitInstance>> getList(BazVisitInstanceSo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
LambdaQueryWrapper<BazVisitInstance> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<BazVisitInstance> list = bazVisitInstanceService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<BazVisitInstance>> getPage(BazVisitInstanceSo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
LambdaQueryWrapper<BazVisitInstance> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<BazVisitInstance> list = bazVisitInstanceService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BAZ, title = "拜访实例", biz = BizType.QUERY)
public R<BazVisitInstance> getById(@PathVariable("id") String id){
BazVisitInstance bazVisitInstance = bazVisitInstanceService.getById(id);
return R.ok(bazVisitInstance);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BAZ, title = "拜访实例", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid BazVisitInstanceBo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
boolean result = bazVisitInstanceService.updateById(entity);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BAZ, title = "拜访实例", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid BazVisitInstanceBo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
boolean result = bazVisitInstanceService.save(entity);
return R.isTrue(result);
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.BAZ, title = "拜访实例", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = bazVisitInstanceService.removeByIds(idsLong);
return R.isTrue(result);
}
}

95
src/main/java/com/qs/serve/modules/baz/entity/BazVisit.java

@ -0,0 +1,95 @@
package com.qs.serve.modules.baz.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 lombok.Data;
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-04-07
*/
@Data
@TableName("baz_visit")
public class BazVisit implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 拜访名称 */
@NotBlank(message = "拜访名称不能为空")
@Length(max = 255,message = "拜访名称长度不能超过255字")
private String visitName;
/** 目标类型 */
@NotBlank(message = "目标类型不能为空")
@Length(max = 255,message = "目标类型长度不能超过255字")
private String targetType;
/** 备注 */
@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 BazVisit toNewObject(BazVisit source){
BazVisit visit = new BazVisit();
visit.setId(source.getId());
visit.setVisitName(source.getVisitName());
visit.setTargetType(source.getTargetType());
visit.setRemark(source.getRemark());
visit.setCreateTime(source.getCreateTime());
visit.setUpdateTime(source.getUpdateTime());
visit.setTenantId(source.getTenantId());
visit.setDelFlag(source.getDelFlag());
visit.setCreateBy(source.getCreateBy());
visit.setUpdateBy(source.getUpdateBy());
return visit;
}
}

118
src/main/java/com/qs/serve/modules/baz/entity/BazVisitFlow.java

@ -0,0 +1,118 @@
package com.qs.serve.modules.baz.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.modules.baz.entity.bo.BazVisitFlowBo;
import lombok.Data;
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-04-07
*/
@Data
@TableName("baz_visit_flow")
public class BazVisitFlow implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 拜访id */
@NotNull(message = "拜访id不能为空")
private Long visitId;
/** 目标类型 */
@NotBlank(message = "目标类型不能为空")
@Length(max = 255,message = "目标类型长度不能超过255字")
private String targetType;
/** 流程名称 */
@NotBlank(message = "流程名称不能为空")
@Length(max = 255,message = "流程名称长度不能超过255字")
private String flowTitle;
/** 排序 */
@NotNull(message = "排序不能为空")
private Integer flowSort;
/** 是否可忽略 */
@NotNull(message = "是否可忽略不能为空")
private Integer ignoreFlag;
/** 是否定位 */
@NotNull(message = "是否定位不能为空")
private Integer positionState;
/** 是否拍照 */
@NotNull(message = "是否拍照不能为空")
private Integer photoState;
/** 表单id */
@NotNull(message = "表单id不能为空")
private Long formId;
/** 备注 */
@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 BazVisitFlow toNewObject(BazVisitFlowBo source){
BazVisitFlow visitFlow = new BazVisitFlow();
visitFlow.setId(source.getId());
visitFlow.setVisitId(source.getVisitId());
visitFlow.setFlowTitle(source.getFlowTitle());
visitFlow.setIgnoreFlag(source.getIgnoreFlag());
visitFlow.setPositionState(source.getPositionState());
visitFlow.setPhotoState(source.getPhotoState());
visitFlow.setFormId(source.getFormId());
visitFlow.setRemark(source.getRemark());
return visitFlow;
}
}

140
src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java

@ -0,0 +1,140 @@
package com.qs.serve.modules.baz.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 lombok.Data;
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-04-07
*/
@Data
@TableName("baz_visit_instance")
public class BazVisitInstance implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 标题 */
@NotBlank(message = "标题不能为空")
@Length(max = 255,message = "标题长度不能超过255字")
private String title;
/** 拜访类型id */
@NotNull(message = "拜访类型id不能为空")
private Long visitId;
/** 目标类型 */
@NotBlank(message = "目标类型不能为空")
@Length(max = 255,message = "目标类型长度不能超过255字")
private String targetType;
/** 拜访状态:0-进行中;1-完成 */
@NotNull(message = "拜访状态:0-进行中;1-完成不能为空")
private Integer visitState;
/** 拜访人id */
@NotBlank(message = "拜访人id不能为空")
@Length(max = 255,message = "拜访人id长度不能超过255字")
private String visitorId;
/** 拜访人编码 */
@NotBlank(message = "拜访人编码不能为空")
@Length(max = 255,message = "拜访人编码长度不能超过255字")
private String visitorCode;
/** 拜访人 */
@NotBlank(message = "拜访人不能为空")
@Length(max = 255,message = "拜访人长度不能超过255字")
private String visitorName;
/** 目标id */
@NotBlank(message = "目标id不能为空")
@Length(max = 255,message = "目标id长度不能超过255字")
private String targetId;
/** 目标i编码 */
@Length(max = 255,message = "目标i编码长度不能超过255字")
private String targetCode;
/** 目标名称 */
@NotBlank(message = "目标名称不能为空")
@Length(max = 255,message = "目标名称长度不能超过255字")
private String targetName;
/** 备注 */
@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 BazVisitInstance toNewObject(BazVisitInstance source){
BazVisitInstance visitInstance = new BazVisitInstance();
visitInstance.setId(source.getId());
visitInstance.setTitle(source.getTitle());
visitInstance.setVisitId(source.getVisitId());
visitInstance.setTargetType(source.getTargetType());
visitInstance.setVisitState(source.getVisitState());
visitInstance.setVisitorId(source.getVisitorId());
visitInstance.setVisitorCode(source.getVisitorCode());
visitInstance.setVisitorName(source.getVisitorName());
visitInstance.setTargetId(source.getTargetId());
visitInstance.setTargetCode(source.getTargetCode());
visitInstance.setTargetName(source.getTargetName());
visitInstance.setRemark(source.getRemark());
visitInstance.setCreateTime(source.getCreateTime());
visitInstance.setUpdateTime(source.getUpdateTime());
visitInstance.setTenantId(source.getTenantId());
visitInstance.setDelFlag(source.getDelFlag());
visitInstance.setCreateBy(source.getCreateBy());
visitInstance.setUpdateBy(source.getUpdateBy());
return visitInstance;
}
}

66
src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitFlowBo.java

@ -0,0 +1,66 @@
package com.qs.serve.modules.baz.entity.bo;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 拜访流程 Bo
* @author YenHex
* @since 2023-04-07
*/
@Data
public class BazVisitFlowBo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 拜访id 值:1-> 网点打开 */
@NotNull(message = "拜访id不能为空")
private Long visitId;
/** 流程名称 */
@NotBlank(message = "流程名称不能为空")
@Length(max = 255,message = "流程名称长度不能超过255字")
private String flowTitle;
/** 排序 */
@NotNull(message = "排序不能为空")
private Integer flowSort;
/** 是否可忽略 */
@NotNull(message = "是否可忽略不能为空")
private Integer ignoreFlag;
/** 是否定位 */
@NotNull(message = "是否定位不能为空")
private Integer positionState;
/** 是否拍照 */
@NotNull(message = "是否拍照不能为空")
private Integer photoState;
/** 表单id */
@NotNull(message = "表单id不能为空")
private Long formId;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
}

30
src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitFlowSortBo.java

@ -0,0 +1,30 @@
package com.qs.serve.modules.baz.entity.bo;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 拜访流程 Bo
* @author YenHex
* @since 2023-04-07
*/
@Data
public class BazVisitFlowSortBo implements Serializable {
private static final long serialVersionUID = 1L;
/** 备注 */
private List<Item> sortValues;
@Data
public static class Item{
Integer sortValue;
Long id;
}
}

107
src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitInstanceBo.java

@ -0,0 +1,107 @@
package com.qs.serve.modules.baz.entity.bo;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 拜访实例 Bo
* @author YenHex
* @since 2023-04-07
*/
@Data
public class BazVisitInstanceBo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 标题 */
@NotBlank(message = "标题不能为空")
@Length(max = 255,message = "标题长度不能超过255字")
private String title;
/** 拜访类型id */
@NotNull(message = "拜访类型id不能为空")
private Long visitId;
/** 目标类型 */
@NotBlank(message = "目标类型不能为空")
@Length(max = 255,message = "目标类型长度不能超过255字")
private String targetType;
/** 拜访状态:0-进行中;1-完成 */
@NotNull(message = "拜访状态:0-进行中;1-完成不能为空")
private Integer visitState;
/** 拜访人id */
@NotBlank(message = "拜访人id不能为空")
@Length(max = 255,message = "拜访人id长度不能超过255字")
private String visitorId;
/** 拜访人编码 */
@NotBlank(message = "拜访人编码不能为空")
@Length(max = 255,message = "拜访人编码长度不能超过255字")
private String visitorCode;
/** 拜访人 */
@NotBlank(message = "拜访人不能为空")
@Length(max = 255,message = "拜访人长度不能超过255字")
private String visitorName;
/** 目标id */
@NotBlank(message = "目标id不能为空")
@Length(max = 255,message = "目标id长度不能超过255字")
private String targetId;
/** 目标i编码 */
@Length(max = 255,message = "目标i编码长度不能超过255字")
private String targetCode;
/** 目标名称 */
@NotBlank(message = "目标名称不能为空")
@Length(max = 255,message = "目标名称长度不能超过255字")
private String targetName;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/** 最后更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
private String createBy;
/** 更新人 */
private String updateBy;
}

57
src/main/java/com/qs/serve/modules/baz/entity/so/BazVisitFlowSo.java

@ -0,0 +1,57 @@
package com.qs.serve.modules.baz.entity.so;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
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-04-07
*/
@Data
public class BazVisitFlowSo implements Serializable {
private static final long serialVersionUID = 1L;
/** 拜访id */
private Long visitId;
/** 目标类型 */
private String targetType;
/** 流程名称 */
private String flowTitle;
/** 排序 */
private Integer flowSort;
/** 是否可忽略 */
private Integer ignoreFlag;
/** 是否定位 */
private Integer positionState;
/** 是否拍照 */
private Integer photoState;
/** 表单id */
private Long formId;
/** 备注 */
private String remark;
}

62
src/main/java/com/qs/serve/modules/baz/entity/so/BazVisitInstanceSo.java

@ -0,0 +1,62 @@
package com.qs.serve.modules.baz.entity.so;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
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-04-07
*/
@Data
public class BazVisitInstanceSo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 标题 */
private String title;
/** 拜访类型id */
private Long visitId;
/** 拜访状态:0-进行中;1-完成 */
private Integer visitState;
/** 拜访人id */
private String visitorId;
/** 拜访人编码 */
private String visitorCode;
/** 拜访人 */
private String visitorName;
/** 目标id */
private String targetId;
/** 目标i编码 */
private String targetCode;
/** 目标名称 */
private String targetName;
/** 备注 */
private String remark;
}

14
src/main/java/com/qs/serve/modules/baz/mapper/BazVisitFlowMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.baz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.baz.entity.BazVisitFlow;
/**
* 拜访流程 Mapper
* @author YenHex
* @date 2023-04-07
*/
public interface BazVisitFlowMapper extends BaseMapper<BazVisitFlow> {
}

14
src/main/java/com/qs/serve/modules/baz/mapper/BazVisitInstanceMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.baz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.baz.entity.BazVisitInstance;
/**
* 拜访实例 Mapper
* @author YenHex
* @date 2023-04-07
*/
public interface BazVisitInstanceMapper extends BaseMapper<BazVisitInstance> {
}

14
src/main/java/com/qs/serve/modules/baz/mapper/BazVisitMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.baz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.baz.entity.BazVisit;
/**
* 拜访 Mapper
* @author YenHex
* @date 2023-04-07
*/
public interface BazVisitMapper extends BaseMapper<BazVisit> {
}

17
src/main/java/com/qs/serve/modules/baz/service/BazVisitFlowService.java

@ -0,0 +1,17 @@
package com.qs.serve.modules.baz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.baz.entity.BazVisitFlow;
import com.qs.serve.modules.baz.entity.bo.BazVisitFlowBo;
/**
* 拜访流程 服务接口
* @author YenHex
* @date 2023-04-07
*/
public interface BazVisitFlowService extends IService<BazVisitFlow> {
BazVisitFlow modify(BazVisitFlowBo param);
}

14
src/main/java/com/qs/serve/modules/baz/service/BazVisitInstanceService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.baz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.baz.entity.BazVisitInstance;
/**
* 拜访实例 服务接口
* @author YenHex
* @date 2023-04-07
*/
public interface BazVisitInstanceService extends IService<BazVisitInstance> {
}

14
src/main/java/com/qs/serve/modules/baz/service/BazVisitService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.baz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.baz.entity.BazVisit;
/**
* 拜访 服务接口
* @author YenHex
* @date 2023-04-07
*/
public interface BazVisitService extends IService<BazVisit> {
}

51
src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitFlowServiceImpl.java

@ -0,0 +1,51 @@
package com.qs.serve.modules.baz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.modules.baz.entity.BazVisit;
import com.qs.serve.modules.baz.entity.bo.BazVisitFlowBo;
import com.qs.serve.modules.baz.mapper.BazVisitMapper;
import com.qs.serve.modules.biz.mapper.BizVisitMapper;
import com.qs.serve.modules.biz.service.BizVisitService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.baz.entity.BazVisitFlow;
import com.qs.serve.modules.baz.service.BazVisitFlowService;
import com.qs.serve.modules.baz.mapper.BazVisitFlowMapper;
/**
* 拜访流程 服务实现类
* @author YenHex
* @since 2023-04-07
*/
@Slf4j
@Service
@AllArgsConstructor
public class BazVisitFlowServiceImpl extends ServiceImpl<BazVisitFlowMapper,BazVisitFlow> implements BazVisitFlowService {
BazVisitMapper bazVisitMapper;
@Override
public BazVisitFlow modify(BazVisitFlowBo param) {
Long id = param.getId();
BazVisitFlow entity;
if(id!=null){
entity = this.getById(param.getId());
}else {
entity = BazVisitFlow.toNewObject(param);
}
BazVisit bazVisit = bazVisitMapper.selectById(param.getVisitId());
entity.setVisitId(bazVisit.getId());
entity.setTargetType(bazVisit.getTargetType());
//设置排序
LambdaQueryWrapper<BazVisitFlow> lqwCount = new LambdaQueryWrapper<>();
lqwCount.eq(BazVisitFlow::getVisitId,param.getVisitId());
Long count = this.count(lqwCount);
entity.setFlowSort(count.intValue()+1);
this.saveOrUpdate(entity);
return entity;
}
}

22
src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.baz.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.baz.entity.BazVisitInstance;
import com.qs.serve.modules.baz.service.BazVisitInstanceService;
import com.qs.serve.modules.baz.mapper.BazVisitInstanceMapper;
/**
* 拜访实例 服务实现类
* @author YenHex
* @since 2023-04-07
*/
@Slf4j
@Service
@AllArgsConstructor
public class BazVisitInstanceServiceImpl extends ServiceImpl<BazVisitInstanceMapper,BazVisitInstance> implements BazVisitInstanceService {
}

22
src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.baz.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.baz.entity.BazVisit;
import com.qs.serve.modules.baz.service.BazVisitService;
import com.qs.serve.modules.baz.mapper.BazVisitMapper;
/**
* 拜访 服务实现类
* @author YenHex
* @since 2023-04-07
*/
@Slf4j
@Service
@AllArgsConstructor
public class BazVisitServiceImpl extends ServiceImpl<BazVisitMapper,BazVisit> implements BazVisitService {
}

30
src/main/java/com/qs/serve/modules/biz/controller/BizVisitController.java

@ -37,7 +37,6 @@ public class BizVisitController {
* @return * @return
*/ */
@GetMapping("/page") @GetMapping("/page")
@PreAuthorize("hasRole('biz:visit:query')")
public R<PageVo<BizVisit>> getPage(BizVisit param){ public R<PageVo<BizVisit>> getPage(BizVisit param){
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param);
@ -53,40 +52,12 @@ public class BizVisitController {
*/ */
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.QUERY) @SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.QUERY)
@PreAuthorize("hasRole('biz:visit:query')")
public R<BizVisit> getById(@PathVariable("id") String id){ public R<BizVisit> getById(@PathVariable("id") String id){
BizVisit bizVisit = bizVisitService.getById(id); BizVisit bizVisit = bizVisitService.getById(id);
return R.ok(bizVisit); return R.ok(bizVisit);
} }
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.UPDATE)
@PreAuthorize("hasRole('biz:visit:update')")
public R<?> updateById(@RequestBody @Valid BizVisit param){
boolean result = bizVisitService.updateById(param);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.INSERT)
@PreAuthorize("hasRole('biz:visit:insert')")
public R<?> save(@RequestBody @Valid BizVisit param){
boolean result = bizVisitService.save(param);
return R.isTrue(result);
}
/** /**
* 删除 * 删除
* @param id * @param id
@ -94,7 +65,6 @@ public class BizVisitController {
*/ */
@DeleteMapping("/deleteById/{id}") @DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.DELETE) @SysLog(module = SystemModule.BIZ, title = "拜访日志", biz = BizType.DELETE)
@PreAuthorize("hasRole('biz:visit:delete')")
public R<?> deleteById(@PathVariable("id") Long id){ public R<?> deleteById(@PathVariable("id") Long id){
boolean result = bizVisitService.removeById(id); boolean result = bizVisitService.removeById(id);
return R.isTrue(result); return R.isTrue(result);

7
src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java

@ -211,6 +211,13 @@ public class GoodsCategoryController {
if(budgetConditionService.count(lqw)>0){ if(budgetConditionService.count(lqw)>0){
return R.error("预算含有当前分类,删除失败"); return R.error("预算含有当前分类,删除失败");
} }
LambdaQueryWrapper<GoodsSpu> spuLqw = new LambdaQueryWrapper<>();
spuLqw.and(slqw->slqw.eq(GoodsSpu::getCategoryFirst,id)
.or().eq(GoodsSpu::getCategorySecond,id)
.or().eq(GoodsSpu::getCategoryThird,id));
if(goodsSpuService.count(spuLqw)>0){
return R.error("含有商品,删除失败");
}
boolean result = goodsCategoryService.removeById(id); boolean result = goodsCategoryService.removeById(id);
return R.isTrue(result); return R.isTrue(result);
} }

Loading…
Cancel
Save