Browse Source

opt: 添加字段

master
Yen 8 months ago
parent
commit
0c6e291694
  1. 75
      src/main/java/com/qs/serve/modules/thirty/ThirtyVisitController.java
  2. 53
      src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyParam.java
  3. 2
      src/main/java/com/qs/serve/modules/visit/controller/VisitThemeController.java
  4. 15
      src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
  5. 10
      src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java

75
src/main/java/com/qs/serve/modules/thirty/ThirtyVisitController.java

@ -0,0 +1,75 @@
package com.qs.serve.modules.thirty;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
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.AuthContextUtils;
import com.qs.serve.common.util.CodeGenUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.sys.entity.SysDept;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysDeptService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.thirty.entity.VisitThemeThirtyParam;
import com.qs.serve.modules.visit.entity.VisitTheme;
import com.qs.serve.modules.visit.service.impl.VisitThemeServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
* 第三方接口 来访
* @author YenHex
* @since 2024/11/12
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/thirty")
public class ThirtyVisitController {
private VisitThemeServiceImpl visitThemeService;
private SysUserService sysUserService;
private SysDeptService sysDeptService;
/**
* 新增
* @param param
* @return
*/
@PostMapping("/saveTheme")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid VisitThemeThirtyParam param){
VisitTheme entity = CopierUtil.copy(param,new VisitTheme());
SysUser sysUser = sysUserService.getByAccount(param.getUserCode());
if(sysUser==null){
return R.error("用户编码无效或未被收录");
}
entity.setUserId(sysUser.getId());
entity.setUserCode(sysUser.getCode());
entity.setUserName(sysUser.getName());
SysDept dept = sysDeptService.getOne(new LambdaQueryWrapper<SysDept>()
.eq(SysDept::getCode,param.getDeptCode()),false);
if(dept==null){
return R.error("部门编码无效或未被收录");
}
entity.setDeptId(dept.getId());
entity.setDeptName(dept.getName());
entity.setThemeCode("TP"+ CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.VISIT));
entity.setUserId(sysUser.getId());
entity.setUserCode(sysUser.getCode());
entity.setUserName(sysUser.getName());
boolean result = visitThemeService.save(entity);
return R.isTrue(result);
}
}

53
src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyParam.java

@ -0,0 +1,53 @@
package com.qs.serve.modules.thirty.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @author YenHex
* @since 2024/11/12
*/
@Data
public class VisitThemeThirtyParam {
/** 拜访主题 */
@NotNull(message = "拜访主题不能为空")
private String themeTitle;
/** 部门编码 */
@NotNull(message = "部门昵称不能为空")
private String deptCode;
/** 用户编码 */
@NotNull(message = "用户编码不能为空")
private String userCode;
/** 接待地点 */
@NotNull(message = "接待地点不能为空")
private String userRoom;
/** 来访开始时间 */
@NotNull(message = "来访开始时间不能为空")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitStartDate;
/** 来访结束时间 */
@NotNull(message = "来访结束时间不能为空")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitEndDate;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
}

2
src/main/java/com/qs/serve/modules/visit/controller/VisitThemeController.java

@ -1,5 +1,6 @@
package com.qs.serve.modules.visit.controller; package com.qs.serve.modules.visit.controller;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
@ -111,6 +112,7 @@ public class VisitThemeController {
param.setUserId(sysUser.getId()); param.setUserId(sysUser.getId());
param.setUserCode(sysUser.getCode()); param.setUserCode(sysUser.getCode());
param.setUserName(sysUser.getName()); param.setUserName(sysUser.getName());
boolean result = visitThemeService.save(param); boolean result = visitThemeService.save(param);
return R.isTrue(result); return R.isTrue(result);
} }

15
src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java

@ -98,6 +98,21 @@ public class VisitMain implements Serializable {
@Length(max = 255,message = "来访公司长度不能超过255字") @Length(max = 255,message = "来访公司长度不能超过255字")
private String visitorCompany; private String visitorCompany;
/** 来访人身份证 */
private String visitorIdentity;
/** 来访开始时间 */
@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 visitStartDate;
/** 来访结束时间 */
@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 visitEndDate;
/** 来访人ID */ /** 来访人ID */
@Length(max = 255,message = "来访人姓名长度不能超过255字") @Length(max = 255,message = "来访人姓名长度不能超过255字")
private String visitorId; private String visitorId;

10
src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java

@ -63,6 +63,16 @@ public class VisitTheme implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate preVisitDate; private LocalDate preVisitDate;
/** 来访开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitStartDate;
/** 来访结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitEndDate;
/** 实际来访时间 */ /** 实际来访时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

Loading…
Cancel
Save