Browse Source

调整

contract
Yen 2 years ago
parent
commit
ae806ba345
  1. 4
      src/main/java/com/qs/serve/common/model/dto/R.java
  2. 17
      src/main/java/com/qs/serve/common/model/dto/TargetObjectDTO.java
  3. 6
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java
  4. 2
      src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java
  5. 20
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java
  6. 14
      src/main/java/com/qs/serve/modules/tag/TagTypeConst.java
  7. 15
      src/main/java/com/qs/serve/modules/tag/controller/TagCategoryController.java
  8. 119
      src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java
  9. 27
      src/main/java/com/qs/serve/modules/tag/controller/TagInfoController.java
  10. 1
      src/main/java/com/qs/serve/modules/tag/entity/TagCategory.java
  11. 21
      src/main/java/com/qs/serve/modules/tag/entity/TagData.java
  12. 17
      src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java
  13. 34
      src/main/java/com/qs/serve/modules/tag/entity/bo/TagInfoBindBo.java
  14. 29
      src/main/java/com/qs/serve/modules/tag/entity/bo/TagInfoBo.java
  15. 2
      src/main/java/com/qs/serve/modules/tag/service/TagInfoService.java
  16. 53
      src/main/java/com/qs/serve/modules/tag/service/impl/TagCategoryServiceImpl.java
  17. 18
      src/main/java/com/qs/serve/modules/third/PortalFormPushController.java
  18. 2
      src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java
  19. 123
      src/main/java/com/qs/serve/modules/wx/controller/WxFormPushTypeController.java
  20. 120
      src/main/java/com/qs/serve/modules/wx/controller/WxFormPushUserController.java
  21. 20
      src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java
  22. 93
      src/main/java/com/qs/serve/modules/wx/entity/WxFormPushType.java
  23. 40
      src/main/java/com/qs/serve/modules/wx/entity/WxFormPushUser.java
  24. 3
      src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java
  25. 44
      src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushTypeBo.java
  26. 91
      src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushUserBo.java
  27. 36
      src/main/java/com/qs/serve/modules/wx/entity/so/WxFormPushTypeSo.java
  28. 83
      src/main/java/com/qs/serve/modules/wx/entity/so/WxFormPushUserSo.java
  29. 14
      src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushTypeMapper.java
  30. 14
      src/main/java/com/qs/serve/modules/wx/service/WxFormPushTypeService.java
  31. 22
      src/main/java/com/qs/serve/modules/wx/service/impl/WxFormPushTypeServiceImpl.java

4
src/main/java/com/qs/serve/common/model/dto/R.java

@ -126,7 +126,9 @@ public class R<T> implements Serializable {
public static R error() {
return new R<>(FAILED_STATUS,FAILED_TIPS,null);
}
public static R errorNotFound() {
return new R<>(FAILED_STATUS,NOT_FOUND_TIPS,null);
}
public static R error2() {
return new R<>(FAILED_STATUS,FAILED_TIPS_2,null);
}

17
src/main/java/com/qs/serve/common/model/dto/TargetObjectDTO.java

@ -0,0 +1,17 @@
package com.qs.serve.common.model.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* @author YenHex
* @since 2023/4/7
*/
@Data
public class TargetObjectDTO {
String targetType;
String targetId;
String targetCode;
String targetName;
}

6
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java

@ -114,8 +114,10 @@ public class BmsSupplierVisitAddressController {
List<BmsSupplierVisitAddress> list = bmsSupplierVisitAddressService.list(lqw);
for (BmsSupplierVisitAddress visitAddress : list) {
BmsSupplier supplier = bmsSupplierService.getById(visitAddress.getSupplierId());
visitAddress.setSupplierName(supplier.getName());
visitAddress.setSupplierCode(supplier.getCode());
if(supplier!=null){
visitAddress.setSupplierName(supplier.getName());
visitAddress.setSupplierCode(supplier.getCode());
}
}
return R.byPageHelperList(list);
}

2
src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java

@ -17,8 +17,6 @@ public interface GoodsCategoryService extends IService<GoodsCategory> {
void modify(GoodsCategory category);
void add(GoodsCategory category);
void modifyLevel(GoodsCategoryLevelBo category);
}

20
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java

@ -50,24 +50,26 @@ public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,Go
GoodsCategory parent = null;
if( category.getParentId()!=null&&!category.getParentId().equals(0L)){
parent = this.getById(category.getParentId());
if(parent==null){
Assert.throwEx("父级类目不存在");
}
}
if(category.getId()==null){
this.save(category);
}
if(parent==null){
category.setParentId(0L);
category.setLevel(1);
if(category.getId()==null){
this.save(category);
}
category.setLevelPath(category.getId().toString());
category.setLevelPathNames(category.getName());
}else {
//不进行更新
category.setLevel(parent.getLevel()+1);
category.setLevelPathNames(parent.getLevelPathNames()+"_"+category.getName());
category.setLevelPath(parent.getLevelPath()+"_"+category.getId());
}
if(dbData==null){
this.updateById(category);
this.saveOrUpdate(category);
}else {
//code不给修改
category.setCode(null);
@ -104,14 +106,6 @@ public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,Go
}
@Override
public void add(GoodsCategory category) {
// else {
// GoodsCategory parent = this.getById(category.getParentId());
// this.updateLevel(parent,category);
// }
}
@Override
public void modifyLevel(GoodsCategoryLevelBo categoryLevelBo) {
GoodsCategory category = CopierUtil.copy(categoryLevelBo,new GoodsCategory());

14
src/main/java/com/qs/serve/modules/tag/TagTypeConst.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.tag;
/**
* @author YenHex
* @since 2023/4/24
*/
public interface TagTypeConst {
String Customer = "customer";
String Point = "point";
String Channel = "channel";
String Salesman = "salesman";
}

15
src/main/java/com/qs/serve/modules/tag/controller/TagCategoryController.java

@ -93,8 +93,10 @@ public class TagCategoryController {
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.Tag, title = "标签分类", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tag:category:update')")
public R<?> updateById(@RequestBody @Valid TagCategory param){
if(param.getId()==null){
return R.errorNotFound();
}
tagCategoryService.modify(param);
return R.ok();
}
@ -106,10 +108,10 @@ public class TagCategoryController {
*/
@PostMapping("/save")
@SysLog(module = SystemModule.Tag, title = "标签分类", biz = BizType.INSERT)
@PreAuthorize("hasRole('tag:category:insert')")
public R<?> save(@RequestBody @Valid TagCategory param){
param.setId(null);
tagCategoryService.modify(param);
return R.ok();
return R.ok(param);
}
/**
@ -119,15 +121,14 @@ public class TagCategoryController {
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Tag, title = "标签分类", biz = BizType.DELETE)
@PreAuthorize("hasRole('tag:category:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
List<String> idString = StringUtils.splitIdString(ids);
LambdaQueryWrapper<TagInfo> lqw = new LambdaQueryWrapper<>();
lqw.in(TagInfo::getTagCategroyId,idsLong);
lqw.in(TagInfo::getTagCategoryId,idString);
if(tagInfoService.count(lqw)>0){
return R.error("含有标签的类目无法删除");
}
boolean result = tagCategoryService.removeByIds(idsLong);
boolean result = tagCategoryService.removeByIds(idString);
return R.isTrue(result);
}

119
src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java

@ -4,14 +4,28 @@ 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.dto.TargetObjectDTO;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsChannel;
import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsChannelPointService;
import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tag.TagTypeConst;
import com.qs.serve.modules.tag.entity.TagData;
import com.qs.serve.modules.tag.entity.TagInfo;
import com.qs.serve.modules.tag.entity.bo.TagInfoBindBo;
import com.qs.serve.modules.tag.entity.bo.TagInfoBo;
import com.qs.serve.modules.tag.entity.so.TagInfoSo;
import com.qs.serve.modules.tag.service.TagDataService;
import com.qs.serve.modules.tag.service.TagInfoService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -19,7 +33,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 标签 标签信息
@ -32,7 +48,12 @@ import java.util.List;
@RequestMapping("tag/data")
public class TagDataController {
private TagDataService tagDataService;
private TagInfoService tagInfoService;
private BmsSupplierService bmsSupplierService;
private BmsChannelPointService bmsChannelPointService;
private BmsChannelService bmsChannelService;
private SysUserService sysUserService;
/**
@ -40,13 +61,99 @@ public class TagDataController {
* @param param
* @return
*/
//@PostMapping("/save")
@PostMapping("/bind")
@SysLog(module = SystemModule.Tag, title = "标签信息", biz = BizType.INSERT)
@PreAuthorize("hasRole('tag:info:insert')")
public R<?> save(@RequestBody @Valid TagInfoBo param){
TagInfo entity = CopierUtil.copy(param,new TagInfo());
boolean result = tagInfoService.save(entity);
return R.isTrue(result);
public R<?> save(@RequestBody @Valid TagInfoBindBo param){
Integer saveType = param.getSaveType();
List<TagInfo> tagInfoList = tagInfoService.listByIds(param.getTagIds());
for (TargetObjectDTO objectDTO : param.getTargetList()) {
if(objectDTO.getTargetType().equals(TagTypeConst.Customer)){
BmsSupplier bmsSupplier = bmsSupplierService.getById(objectDTO.getTargetId());
objectDTO.setTargetCode(bmsSupplier.getCode());
objectDTO.setTargetName(bmsSupplier.getName());
}else if (objectDTO.getTargetType().equals(TagTypeConst.Channel)){
BmsChannel channel = bmsChannelService.getById(objectDTO.getTargetId());
objectDTO.setTargetCode(channel.getChannelCode());
objectDTO.setTargetName(channel.getChannelName());
}else if (objectDTO.getTargetType().equals(TagTypeConst.Point)){
BmsChannelPoint point = bmsChannelPointService.getById(objectDTO.getTargetId());
objectDTO.setTargetCode(point.getPointCode());
objectDTO.setTargetName(point.getPointName());
}else{
SysUser sysUser = sysUserService.getById(objectDTO.getTargetId());
objectDTO.setTargetCode(sysUser.getCode());
objectDTO.setTargetName(sysUser.getName());
}
}
if(saveType==null||saveType.equals(0)){
List<TagData> tagDataList = new ArrayList<>();
for (TagInfo tagInfo : tagInfoList) {
for (TargetObjectDTO objectDTO : param.getTargetList()) {
LambdaQueryWrapper<TagData> lqw = new LambdaQueryWrapper<>();
lqw.eq(TagData::getTagId,tagInfo.getId());
lqw.eq(TagData::getTargetType,objectDTO.getTargetType());
lqw.eq(TagData::getTargetId,objectDTO.getTargetId());
if(tagDataService.count(lqw)>0){
continue;
}
TagData data = new TagData();
data.setTagName(tagInfo.getTagName());
data.setTagId(tagInfo.getId());
data.setTargetType(objectDTO.getTargetType());
data.setTargetId(objectDTO.getTargetId());
data.setTargetCode(objectDTO.getTargetCode());
data.setTargetName(objectDTO.getTargetName());
tagDataList.add(data);
}
}
if(CollectionUtil.isNotEmpty(tagDataList)){
tagDataService.saveBatch(tagDataList);
}
}else if (saveType.equals(1)){
LambdaQueryWrapper<TagData> lqw = new LambdaQueryWrapper<>();
lqw.in(TagData::getTagId,param.getTagIds());
tagDataService.remove(lqw);
List<TagData> tagDataList = new ArrayList<>();
for (TagInfo tagInfo : tagInfoList) {
for (TargetObjectDTO objectDTO : param.getTargetList()) {
TagData data = new TagData();
data.setTagName(tagInfo.getTagName());
data.setTagId(tagInfo.getId());
data.setTargetType(objectDTO.getTargetType());
data.setTargetId(objectDTO.getTargetId());
data.setTargetCode(objectDTO.getTargetCode());
data.setTargetName(objectDTO.getTargetName());
tagDataList.add(data);
}
}
if(CollectionUtil.isNotEmpty(tagDataList)){
tagDataService.saveBatch(tagDataList);
}
}else if (saveType.equals(2)){
List<TagData> tagDataList = new ArrayList<>();
for (TargetObjectDTO objectDTO : param.getTargetList()) {
LambdaQueryWrapper<TagData> lqw = new LambdaQueryWrapper<>();
lqw.eq(TagData::getTargetId,objectDTO.getTargetId());
lqw.eq(TagData::getTargetType,objectDTO.getTargetType());
tagDataService.remove(lqw);
for (TagInfo tagInfo : tagInfoList) {
TagData data = new TagData();
data.setTagName(tagInfo.getTagName());
data.setTagId(tagInfo.getId());
data.setTargetType(objectDTO.getTargetType());
data.setTargetId(objectDTO.getTargetId());
data.setTargetCode(objectDTO.getTargetCode());
data.setTargetName(objectDTO.getTargetName());
tagDataList.add(data);
}
}
if(CollectionUtil.isNotEmpty(tagDataList)){
tagDataService.saveBatch(tagDataList);
}
}else {
return R.error2();
}
return R.ok();
}

27
src/main/java/com/qs/serve/modules/tag/controller/TagInfoController.java

@ -9,6 +9,8 @@ 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.tag.entity.TagCategory;
import com.qs.serve.modules.tag.service.TagCategoryService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -34,18 +36,17 @@ import java.util.List;
public class TagInfoController {
private TagInfoService tagInfoService;
private TagCategoryService tagCategoryService;
/**
* 列表
* @param param
* @return
*/
//@GetMapping("/list")
@PreAuthorize("hasRole('tag:info:query')")
@GetMapping("/list")
public R<List<TagInfo>> getList(TagInfoSo param){
TagInfo entity = CopierUtil.copy(param,new TagInfo());
LambdaQueryWrapper<TagInfo> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<TagInfo> list = tagInfoService.list(lqw);
return R.ok(list);
}
@ -55,8 +56,7 @@ public class TagInfoController {
* @param param
* @return
*/
//@GetMapping("/page")
@PreAuthorize("hasRole('tag:info:query')")
@GetMapping("/page")
public R<PageVo<TagInfo>> getPage(TagInfoSo param){
TagInfo entity = CopierUtil.copy(param,new TagInfo());
LambdaQueryWrapper<TagInfo> lqw = new LambdaQueryWrapper<>(entity);
@ -70,26 +70,24 @@ public class TagInfoController {
* @param id
* @return
*/
//@GetMapping("/getById/{id}")
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Tag, title = "标签信息", biz = BizType.QUERY)
@PreAuthorize("hasRole('tag:info:query')")
public R<TagInfo> getById(@PathVariable("id") String id){
TagInfo tagInfo = tagInfoService.getById(id);
return R.ok(tagInfo);
}
/**
* 更新
* @param param
* @return
*/
//@PostMapping("/updateById")
@PostMapping("/updateById")
@SysLog(module = SystemModule.Tag, title = "标签信息", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tag:info:update')")
public R<?> updateById(@RequestBody @Valid TagInfoBo param){
TagInfo entity = CopierUtil.copy(param,new TagInfo());
TagCategory tagCategory = tagCategoryService.getById(param.getTagCategoryId());
entity.setTagCategoryName(tagCategory.getCategoryName());
boolean result = tagInfoService.updateById(entity);
return R.isTrue(result);
}
@ -99,11 +97,13 @@ public class TagInfoController {
* @param param
* @return
*/
//@PostMapping("/save")
@PostMapping("/save")
@SysLog(module = SystemModule.Tag, title = "标签信息", biz = BizType.INSERT)
@PreAuthorize("hasRole('tag:info:insert')")
public R<?> save(@RequestBody @Valid TagInfoBo param){
param.setId(null);
TagInfo entity = CopierUtil.copy(param,new TagInfo());
TagCategory tagCategory = tagCategoryService.getById(param.getTagCategoryId());
entity.setTagCategoryName(tagCategory.getCategoryName());
boolean result = tagInfoService.save(entity);
return R.isTrue(result);
}
@ -115,7 +115,6 @@ public class TagInfoController {
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Tag, title = "标签信息", biz = BizType.DELETE)
@PreAuthorize("hasRole('tag:info:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = tagInfoService.removeByIds(idsLong);

1
src/main/java/com/qs/serve/modules/tag/entity/TagCategory.java

@ -33,6 +33,7 @@ public class TagCategory implements Serializable {
/** 标签名 */
@Length(max = 255,message = "标签名长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String categoryName;
/** 上级标签类目id */

21
src/main/java/com/qs/serve/modules/tag/entity/TagData.java

@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank;
/**
* 标签数据 实体类
* @author YenHex
* @since 2023-04-23
* @since 2023-04-24
*/
@Data
@TableName("tag_data")
@ -40,10 +40,19 @@ public class TagData implements Serializable {
/** 业务类型 */
@Length(max = 30,message = "业务类型长度不能超过30字")
private String businessType;
private String targetType;
/** 目标id */
private Long businessTargetId;
@Length(max = 100,message = "目标id长度不能超过100字")
private String targetId;
/** 目标编码 */
@Length(max = 255,message = "目标编码长度不能超过255字")
private String targetCode;
/** 目标名称 */
@Length(max = 255,message = "目标名称长度不能超过255字")
private String targetName;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
@ -85,8 +94,10 @@ public class TagData implements Serializable {
data.setId(source.getId());
data.setTagName(source.getTagName());
data.setTagId(source.getTagId());
data.setBusinessType(source.getBusinessType());
data.setBusinessTargetId(source.getBusinessTargetId());
data.setTargetType(source.getTargetType());
data.setTargetId(source.getTargetId());
data.setTargetCode(source.getTargetCode());
data.setTargetName(source.getTargetName());
data.setRemark(source.getRemark());
data.setCreateTime(source.getCreateTime());
data.setUpdateTime(source.getUpdateTime());

17
src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java

@ -36,7 +36,7 @@ public class TagInfo implements Serializable {
private String tagName;
/** 标签类目id */
private Long tagCategroyId;
private Long tagCategoryId;
/** 标签类目名称 */
@Length(max = 255,message = "标签类目名称长度不能超过255字")
@ -77,21 +77,6 @@ public class TagInfo implements Serializable {
private Boolean delFlag;
public static TagInfo toNewObject(TagInfo source){
TagInfo info = new TagInfo();
info.setId(source.getId());
info.setTagName(source.getTagName());
info.setTagCategroyId(source.getTagCategroyId());
info.setTagCategoryName(source.getTagCategoryName());
info.setRemark(source.getRemark());
info.setCreateTime(source.getCreateTime());
info.setUpdateTime(source.getUpdateTime());
info.setCreateBy(source.getCreateBy());
info.setUpdateBy(source.getUpdateBy());
info.setTenantId(source.getTenantId());
info.setDelFlag(source.getDelFlag());
return info;
}
}

34
src/main/java/com/qs/serve/modules/tag/entity/bo/TagInfoBindBo.java

@ -0,0 +1,34 @@
package com.qs.serve.modules.tag.entity.bo;
import com.qs.serve.common.model.dto.TargetObjectDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.io.Serializable;
import java.util.List;
/**
* 标签信息 Bo
* @author YenHex
* @since 2023-04-23
*/
@Data
public class TagInfoBindBo implements Serializable {
private static final long serialVersionUID = 1L;
/** 标签地址 */
private List<Long> tagIds;
/** 目标数据。目标类型:customer、point、channel、salesman */
private List<TargetObjectDTO> targetList;
/**
* 0添加不进行删除
* 1`标签`为参照物删除历史`目标数据`并重新添加新的`目标数据`
* 2`目标数据`为参照物删除历史`标签`并重新添加新的`标签`
*/
private Integer saveType;
}

29
src/main/java/com/qs/serve/modules/tag/entity/bo/TagInfoBo.java

@ -33,39 +33,12 @@ public class TagInfoBo implements Serializable {
private String tagName;
/** 标签类目id */
private Long tagCategroyId;
/** 标签类目名称 */
@Length(max = 255,message = "标签类目名称长度不能超过255字")
private String tagCategoryName;
private String tagCategoryId;
/** 备注 */
@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;
/** 创建人 */
private String createBy;
/** 更新人 */
private String updateBy;
/** 租户id */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 删除标识 */
@JsonIgnore
@JsonProperty
private Boolean delFlag;
}

2
src/main/java/com/qs/serve/modules/tag/service/TagInfoService.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.tag.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tag.entity.TagInfo;
import com.qs.serve.modules.tag.entity.bo.TagInfoBo;
/**
* 标签信息 服务接口
@ -10,5 +11,6 @@ import com.qs.serve.modules.tag.entity.TagInfo;
*/
public interface TagInfoService extends IService<TagInfo> {
}

53
src/main/java/com/qs/serve/modules/tag/service/impl/TagCategoryServiceImpl.java

@ -1,12 +1,19 @@
package com.qs.serve.modules.tag.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.Assert;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.tag.entity.TagCategory;
import com.qs.serve.modules.tag.service.TagCategoryService;
import com.qs.serve.modules.tag.mapper.TagCategoryMapper;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
/**
* 标签分类 服务实现类
@ -19,8 +26,52 @@ import com.qs.serve.modules.tag.mapper.TagCategoryMapper;
public class TagCategoryServiceImpl extends ServiceImpl<TagCategoryMapper,TagCategory> implements TagCategoryService {
@Override
@Transactional(rollbackFor = Exception.class)
public void modify(TagCategory category) {
String id = category.getId();
TagCategory dbData = this.getById(category.getId());
TagCategory parent = null;
if(category.getPid()!=null&&!category.getPid().equals("0")){
parent = this.getById(category.getPid());
if(parent==null){
Assert.throwEx("父级标签不存在");
}
}
if(category.getId()==null){
this.save(category);
}
if(parent==null){
category.setPid("0");
category.setPathIds(category.getId());
}else {
category.setPathIds(parent.getPathIds()+"_"+category.getId());
}
if(dbData==null){
this.saveOrUpdate(category);
}else {
this.updateById(category);
boolean changePid = !dbData.getPid().equals(category.getPid());
if(changePid){
LambdaQueryWrapper<TagCategory> lqw = new LambdaQueryWrapper<>();
lqw.and(v1->{
v1.eq(TagCategory::getPathIds,dbData.getPathIds())
.or().likeRight(TagCategory::getPathIds,dbData.getPathIds()+"_");
});
List<TagCategory> childList = this.list(lqw);
List<TagCategory> categoryList = childList.stream().map(obj->{
TagCategory par = new TagCategory();
par.setId(obj.getId());
par.setPathIds(obj.getPathIds().replace(dbData.getPathIds(),category.getPathIds()));
return par;
}).collect(Collectors.toList());
this.updateBatchById(categoryList);
}else {
//不进行更新
category.setPathIds(null);
category.setPid(null);
}
this.updateById(category);
}
}

18
src/main/java/com/qs/serve/modules/third/PortalFormPushController.java

@ -9,21 +9,19 @@ 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.wx.entity.WxFormPushType;
import com.qs.serve.modules.wx.entity.WxFormPushUser;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.entity.bo.WxFormPushBo;
import com.qs.serve.modules.wx.entity.dto.sms.WxSmsNewForm;
import com.qs.serve.modules.wx.entity.vo.WxPushResultVo;
import com.qs.serve.modules.wx.service.WxFormPushUserService;
import com.qs.serve.modules.wx.service.WxPushService;
import com.qs.serve.modules.wx.service.WxUserService;
import com.qs.serve.modules.wx.service.*;
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.wx.entity.WxFormPush;
import com.qs.serve.modules.wx.service.WxFormPushService;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
@ -47,6 +45,7 @@ public class PortalFormPushController {
private WxFormPushUserService wxFormPushUserService;
private WxUserService wxUserService;
private WxPushService wxPushService;
private WxFormPushTypeService wxFormPushTypeService;
/**
* 新增
@ -58,6 +57,12 @@ public class PortalFormPushController {
ThirdTokenUtil.checkToken(request);
WxFormPush entity = CopierUtil.copy(param,new WxFormPush());
wxFormPushService.save(entity);
WxFormPushType pushType = null;
if(param.getTypeCode()!=null){
LambdaQueryWrapper<WxFormPushType> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxFormPushType::getCode,param.getTypeCode());
pushType = wxFormPushTypeService.getOne(lqw,false);
}
List<String> userCodes = param.getUserCodes().stream().distinct().collect(Collectors.toList());
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(WxUser::getAppId,param.getAppId());
@ -81,6 +86,11 @@ public class PortalFormPushController {
pushUser.setUserId(wxUser.getSysUserId());
pushUser.setUserCode(wxUser.getSysUserCode());
pushUser.setUserName(wxUser.getEmpName());
if(pushType!=null){
pushUser.setTypeId(pushType.getId());
pushUser.setTypeCode(pushType.getCode());
pushUser.setTypeName(pushType.getTitle());
}
pushUserList.add(pushUser);
}
wxFormPushUserService.saveBatch(pushUserList);

2
src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java

@ -108,7 +108,7 @@ public class WxFormPushController {
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
//@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);

123
src/main/java/com/qs/serve/modules/wx/controller/WxFormPushTypeController.java

@ -0,0 +1,123 @@
package com.qs.serve.modules.wx.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.wx.entity.WxFormPush;
import com.qs.serve.modules.wx.service.WxFormPushService;
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.wx.entity.so.WxFormPushTypeSo;
import com.qs.serve.modules.wx.entity.bo.WxFormPushTypeBo;
import com.qs.serve.modules.wx.entity.WxFormPushType;
import com.qs.serve.modules.wx.service.WxFormPushTypeService;
import javax.validation.Valid;
import java.util.List;
/**
* 微信 表单类型
* @author YenHex
* @since 2023-04-24
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("wx/formPushType")
public class WxFormPushTypeController {
private WxFormPushTypeService wxFormPushTypeService;
private WxFormPushService wxFormPushService;
/**
* 列表
* @param param
* @return
*/
@GetMapping("/list")
public R<List<WxFormPushType>> getList(WxFormPushTypeSo param){
WxFormPushType entity = CopierUtil.copy(param,new WxFormPushType());
LambdaQueryWrapper<WxFormPushType> lqw = new LambdaQueryWrapper<>(entity);
List<WxFormPushType> list = wxFormPushTypeService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<WxFormPushType>> getPage(WxFormPushTypeSo param){
WxFormPushType entity = CopierUtil.copy(param,new WxFormPushType());
LambdaQueryWrapper<WxFormPushType> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<WxFormPushType> list = wxFormPushTypeService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.QUERY)
public R<WxFormPushType> getById(@PathVariable("id") String id){
WxFormPushType wxFormPushType = wxFormPushTypeService.getById(id);
return R.ok(wxFormPushType);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid WxFormPushTypeBo param){
WxFormPushType entity = CopierUtil.copy(param,new WxFormPushType());
boolean result = wxFormPushTypeService.updateById(entity);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid WxFormPushTypeBo param){
WxFormPushType entity = CopierUtil.copy(param,new WxFormPushType());
boolean result = wxFormPushTypeService.save(entity);
return R.isTrue(result);
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Verification, title = "表单类型", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<String> idsString = StringUtils.splitIdString(ids);
boolean result = wxFormPushTypeService.removeByIds(idsString);
return R.isTrue(result);
}
}

120
src/main/java/com/qs/serve/modules/wx/controller/WxFormPushUserController.java

@ -0,0 +1,120 @@
package com.qs.serve.modules.wx.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.wx.entity.so.WxFormPushUserSo;
import com.qs.serve.modules.wx.entity.bo.WxFormPushUserBo;
import com.qs.serve.modules.wx.entity.WxFormPushUser;
import com.qs.serve.modules.wx.service.WxFormPushUserService;
import javax.validation.Valid;
import java.util.List;
/**
* 微信 表单推送用户
* @author YenHex
* @since 2023-04-24
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("wx/formPushUser")
public class WxFormPushUserController {
private WxFormPushUserService wxFormPushUserService;
/**
* 列表
* @param param
* @return
*/
//@GetMapping("/list")
public R<List<WxFormPushUser>> getList(WxFormPushUserSo param){
WxFormPushUser entity = CopierUtil.copy(param,new WxFormPushUser());
LambdaQueryWrapper<WxFormPushUser> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<WxFormPushUser> list = wxFormPushUserService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<WxFormPushUser>> getPage(WxFormPushUserSo param){
WxFormPushUser entity = CopierUtil.copy(param,new WxFormPushUser());
LambdaQueryWrapper<WxFormPushUser> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<WxFormPushUser> list = wxFormPushUserService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
//@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Verification, title = "表单推送用户", biz = BizType.QUERY)
public R<WxFormPushUser> getById(@PathVariable("id") String id){
WxFormPushUser wxFormPushUser = wxFormPushUserService.getById(id);
return R.ok(wxFormPushUser);
}
/**
* 更新
* @param param
* @return
*/
//@PostMapping("/updateById")
@SysLog(module = SystemModule.Verification, title = "表单推送用户", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid WxFormPushUserBo param){
WxFormPushUser entity = CopierUtil.copy(param,new WxFormPushUser());
boolean result = wxFormPushUserService.updateById(entity);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
//@PostMapping("/save")
@SysLog(module = SystemModule.Verification, title = "表单推送用户", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid WxFormPushUserBo param){
WxFormPushUser entity = CopierUtil.copy(param,new WxFormPushUser());
boolean result = wxFormPushUserService.save(entity);
return R.isTrue(result);
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Verification, title = "表单推送用户", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = wxFormPushUserService.removeByIds(idsLong);
return R.isTrue(result);
}
}

20
src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java

@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank;
/**
* 表单推送 实体类
* @author YenHex
* @since 2023-04-19
* @since 2023-04-24
*/
@Data
@TableName("wx_form_push")
@ -31,8 +31,23 @@ public class WxFormPush implements Serializable {
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/** 分类id */
@Length(max = 36,message = "分类id长度不能超过36字")
private String typeId;
/** 分类编码 */
@Length(max = 255,message = "分类编码长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String typeCode;
/** 分类 */
@Length(max = 255,message = "分类长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String typeName;
/** 标题 */
@Length(max = 255,message = "标题长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String title;
/** 表单内容 */
@ -79,6 +94,9 @@ public class WxFormPush implements Serializable {
public static WxFormPush toNewObject(WxFormPush source){
WxFormPush formPush = new WxFormPush();
formPush.setId(source.getId());
formPush.setTypeId(source.getTypeId());
formPush.setTypeCode(source.getTypeCode());
formPush.setTypeName(source.getTypeName());
formPush.setTitle(source.getTitle());
formPush.setFormContext(source.getFormContext());
formPush.setFormContextValue(source.getFormContextValue());

93
src/main/java/com/qs/serve/modules/wx/entity/WxFormPushType.java

@ -0,0 +1,93 @@
package com.qs.serve.modules.wx.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-24
*/
@Data
@TableName("wx_form_push_type")
public class WxFormPushType implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/** 编码 */
@Length(max = 255,message = "编码长度不能超过255字")
private String code;
/** 标题 */
@Length(max = 255,message = "标题长度不能超过255字")
private String title;
/** 备注 */
@Length(max = 600,message = "备注长度不能超过600字")
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;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
public static WxFormPushType toNewObject(WxFormPushType source){
WxFormPushType formPushType = new WxFormPushType();
formPushType.setId(source.getId());
formPushType.setCode(source.getCode());
formPushType.setTitle(source.getTitle());
formPushType.setRemark(source.getRemark());
formPushType.setCreateTime(source.getCreateTime());
formPushType.setUpdateTime(source.getUpdateTime());
formPushType.setTenantId(source.getTenantId());
formPushType.setCreateBy(source.getCreateBy());
formPushType.setUpdateBy(source.getUpdateBy());
formPushType.setDelFlag(source.getDelFlag());
return formPushType;
}
}

40
src/main/java/com/qs/serve/modules/wx/entity/WxFormPushUser.java

@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank;
/**
* 表单推送用户 实体类
* @author YenHex
* @since 2023-04-19
* @since 2023-04-24
*/
@Data
@TableName("wx_form_push_user")
@ -31,21 +31,27 @@ public class WxFormPushUser implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
/** */
/** 推送id */
@Length(max = 36,message = "推送id长度不能超过36字")
private String formPushId;
/** */
@Length(max = 64,message = "长度不能超过64字")
/** 用户id */
@Length(max = 64,message = "用户id长度不能超过64字")
private String userId;
/** */
@Length(max = 255,message = "长度不能超过255字")
/** 用户编码 */
@Length(max = 255,message = "用户编码长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String userCode;
/** */
@Length(max = 255,message = "长度不能超过255字")
/** 用户名称 */
@Length(max = 255,message = "用户名称长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String userName;
/** 是否已读 */
private Integer readFlag;
/** 备注 */
@Length(max = 600,message = "备注长度不能超过600字")
private String remark;
@ -80,6 +86,20 @@ public class WxFormPushUser implements Serializable {
@JsonProperty
private String delFlag;
/** 分类id */
@Length(max = 36,message = "分类id长度不能超过36字")
private String typeId;
/** 分类编码 */
@Length(max = 255,message = "分类编码长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String typeCode;
/** 分类 */
@Length(max = 255,message = "分类长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String typeName;
public static WxFormPushUser toNewObject(WxFormPushUser source){
WxFormPushUser formPushUser = new WxFormPushUser();
@ -88,6 +108,7 @@ public class WxFormPushUser implements Serializable {
formPushUser.setUserId(source.getUserId());
formPushUser.setUserCode(source.getUserCode());
formPushUser.setUserName(source.getUserName());
formPushUser.setReadFlag(source.getReadFlag());
formPushUser.setRemark(source.getRemark());
formPushUser.setCreateTime(source.getCreateTime());
formPushUser.setUpdateTime(source.getUpdateTime());
@ -95,6 +116,9 @@ public class WxFormPushUser implements Serializable {
formPushUser.setCreateBy(source.getCreateBy());
formPushUser.setUpdateBy(source.getUpdateBy());
formPushUser.setDelFlag(source.getDelFlag());
formPushUser.setTypeId(source.getTypeId());
formPushUser.setTypeCode(source.getTypeCode());
formPushUser.setTypeName(source.getTypeName());
return formPushUser;
}

3
src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java

@ -23,6 +23,9 @@ public class WxFormPushBo implements Serializable {
@NotNull(message = "appId不能为空")
private String appId;
/** 推送分类编码 */
private String typeCode;
/** 标题 */
@NotNull(message = "标题不能为空")
private String title;

44
src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushTypeBo.java

@ -0,0 +1,44 @@
package com.qs.serve.modules.wx.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-24
*/
@Data
public class WxFormPushTypeBo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 编码 */
@Length(max = 255,message = "编码长度不能超过255字")
private String code;
/** 标题 */
@Length(max = 255,message = "标题长度不能超过255字")
private String title;
/** 备注 */
@Length(max = 600,message = "备注长度不能超过600字")
private String remark;
}

91
src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushUserBo.java

@ -0,0 +1,91 @@
package com.qs.serve.modules.wx.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-24
*/
@Data
public class WxFormPushUserBo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 推送id */
@Length(max = 36,message = "推送id长度不能超过36字")
private String formPushId;
/** 用户id */
@Length(max = 64,message = "用户id长度不能超过64字")
private String userId;
/** 用户编码 */
@Length(max = 255,message = "用户编码长度不能超过255字")
private String userCode;
/** 用户名称 */
@Length(max = 255,message = "用户名称长度不能超过255字")
private String userName;
/** 是否已读 */
private Integer readFlag;
/** 备注 */
@Length(max = 600,message = "备注长度不能超过600字")
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;
/** 创建人 */
private String createBy;
/** 更新人 */
private String updateBy;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 分类id */
@Length(max = 36,message = "分类id长度不能超过36字")
private String typeId;
/** 分类编码 */
@Length(max = 255,message = "分类编码长度不能超过255字")
private String typeCode;
/** 分类 */
@Length(max = 255,message = "分类长度不能超过255字")
private String typeName;
}

36
src/main/java/com/qs/serve/modules/wx/entity/so/WxFormPushTypeSo.java

@ -0,0 +1,36 @@
package com.qs.serve.modules.wx.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-24
*/
@Data
public class WxFormPushTypeSo implements Serializable {
private static final long serialVersionUID = 1L;
/** 编码 */
private String code;
/** 标题 */
private String title;
}

83
src/main/java/com/qs/serve/modules/wx/entity/so/WxFormPushUserSo.java

@ -0,0 +1,83 @@
package com.qs.serve.modules.wx.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-24
*/
@Data
public class WxFormPushUserSo implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 推送id */
private String formPushId;
/** 用户id */
private String userId;
/** 用户编码 */
private String userCode;
/** 用户名称 */
private String userName;
/** 是否已读 */
private Integer readFlag;
/** 备注 */
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;
/** 创建人 */
private String createBy;
/** 更新人 */
private String updateBy;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 分类id */
private String typeId;
/** 分类编码 */
private String typeCode;
/** 分类 */
private String typeName;
}

14
src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushTypeMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.wx.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.wx.entity.WxFormPushType;
/**
* 表单类型 Mapper
* @author YenHex
* @date 2023-04-24
*/
public interface WxFormPushTypeMapper extends BaseMapper<WxFormPushType> {
}

14
src/main/java/com/qs/serve/modules/wx/service/WxFormPushTypeService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.wx.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.wx.entity.WxFormPushType;
/**
* 表单类型 服务接口
* @author YenHex
* @date 2023-04-24
*/
public interface WxFormPushTypeService extends IService<WxFormPushType> {
}

22
src/main/java/com/qs/serve/modules/wx/service/impl/WxFormPushTypeServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.wx.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.wx.entity.WxFormPushType;
import com.qs.serve.modules.wx.service.WxFormPushTypeService;
import com.qs.serve.modules.wx.mapper.WxFormPushTypeMapper;
/**
* 表单类型 服务实现类
* @author YenHex
* @since 2023-04-24
*/
@Slf4j
@Service
@AllArgsConstructor
public class WxFormPushTypeServiceImpl extends ServiceImpl<WxFormPushTypeMapper,WxFormPushType> implements WxFormPushTypeService {
}
Loading…
Cancel
Save