Browse Source

feat:商品反馈

muti_db
Yen 9 months ago
parent
commit
78a63e04bf
  1. 6
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  2. 1
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  3. 136
      src/main/java/com/qs/serve/modules/goods/controller/GoodsFeedbackController.java
  4. 141
      src/main/java/com/qs/serve/modules/goods/entity/GoodsFeedback.java
  5. 32
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsFeedbackBo.java
  6. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsFeedbackMapper.java
  7. 21
      src/main/java/com/qs/serve/modules/goods/service/GoodsFeedbackService.java
  8. 60
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsFeedbackServiceImpl.java

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

@ -364,6 +364,8 @@ public class BmsSupplierController {
.collect(Collectors.toList()); .collect(Collectors.toList());
BmsSupplier bmsSupplier = new BmsSupplier(); BmsSupplier bmsSupplier = new BmsSupplier();
bmsSupplier.setId(param.getSupplierId().toString()); bmsSupplier.setId(param.getSupplierId().toString());
bmsSupplier.setStopFlagDate(supplier.getStopFlagDate());
bmsSupplier.setCooperatePauseFlagDate(supplier.getCooperatePauseFlagDate());
bmsSupplier.setOtherUserIds(param.getUserIds()==null?new String[]{}:uids.toArray(new String[uids.size()])); bmsSupplier.setOtherUserIds(param.getUserIds()==null?new String[]{}:uids.toArray(new String[uids.size()]));
bmsSupplierService.updateById(bmsSupplier); bmsSupplierService.updateById(bmsSupplier);
initSupplierOtherInfo(Arrays.asList(supplier.getId())); initSupplierOtherInfo(Arrays.asList(supplier.getId()));
@ -433,6 +435,8 @@ public class BmsSupplierController {
} }
BmsSupplier supplier1 = new BmsSupplier(); BmsSupplier supplier1 = new BmsSupplier();
supplier1.setId(supplier.getId()); supplier1.setId(supplier.getId());
supplier1.setCooperatePauseFlagDate(supplier.getCooperatePauseFlagDate());
supplier1.setStopFlagDate(supplier.getStopFlagDate());
supplier1.setOtherUserIds(otherUserIds.toArray(new String[otherUserIds.size()])); supplier1.setOtherUserIds(otherUserIds.toArray(new String[otherUserIds.size()]));
if(otherUserIds.size()<1){ if(otherUserIds.size()<1){
supplier1.setOtherUserNames(""); supplier1.setOtherUserNames("");
@ -944,6 +948,8 @@ public class BmsSupplierController {
param.setOtherUserCodes(""); param.setOtherUserCodes("");
param.setOtherUserNames(""); param.setOtherUserNames("");
} }
param.setCooperatePauseFlagDate(supplier.getCooperatePauseFlagDate());
param.setStopFlagDate(supplier.getStopFlagDate());
updParams.add(param); updParams.add(param);
} }
} }

1
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java

@ -161,7 +161,6 @@ public class BmsSupplier implements Serializable {
/** 开始户时间 */ /** 开始户时间 */
@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")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime openTime; private LocalDateTime openTime;
/** 创建时间 */ /** 创建时间 */

136
src/main/java/com/qs/serve/modules/goods/controller/GoodsFeedbackController.java

@ -0,0 +1,136 @@
package com.qs.serve.modules.goods.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.AuthContextUtils;
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.goods.entity.bo.GoodsFeedbackBo;
import com.qs.serve.modules.sys.service.SysPostUserService;
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.goods.entity.GoodsFeedback;
import com.qs.serve.modules.goods.service.GoodsFeedbackService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 问题反馈
* @author YenHex
* @since 2024-10-25
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/feedback")
public class GoodsFeedbackController {
private GoodsFeedbackService goodsFeedbackService;
private SysPostUserService postUserService;
/**
* 列表
* @param param
* @return
*/
//@GetMapping("/list")
public R<List<GoodsFeedback>> getList(GoodsFeedback param){
LambdaQueryWrapper<GoodsFeedback> lqw = new LambdaQueryWrapper<>(param);
List<GoodsFeedback> list = goodsFeedbackService.list(lqw);
return R.ok(list);
}
/**
* 翻页(我的)
* @param param
* @return
*/
@GetMapping("/pageMy")
public R<PageVo<GoodsFeedback>> getPageMy(GoodsFeedback param){
LambdaQueryWrapper<GoodsFeedback> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
lqw.eq(GoodsFeedback::getUserId, AuthContextUtils.getSysUserId());
List<GoodsFeedback> list = goodsFeedbackService.list(lqw);
return R.byPageHelperList(list);
}
/**
* 翻页(我的和下属的)
* @param param
* @return
*/
@GetMapping("/pageMyAndChild")
public R<PageVo<GoodsFeedback>> getPageMyAndChild(GoodsFeedback param){
String userId = AuthContextUtils.getSysUserId();
List<String> userIds = postUserService.listByChildIds(userId);
userIds.add(userId);
LambdaQueryWrapper<GoodsFeedback> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
lqw.eq(GoodsFeedback::getUserId, userIds);
List<GoodsFeedback> list = goodsFeedbackService.list(lqw);
return R.byPageHelperList(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<GoodsFeedback>> getPage(GoodsFeedback param){
LambdaQueryWrapper<GoodsFeedback> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<GoodsFeedback> list = goodsFeedbackService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "问题反馈", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:feedback:query')")
public R<GoodsFeedback> getById(@PathVariable("id") String id){
GoodsFeedback goodsFeedback = goodsFeedbackService.getById(id);
return R.ok(goodsFeedback);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "问题反馈", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid GoodsFeedbackBo param){
goodsFeedbackService.modify(param);
return R.ok();
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.GOODS, title = "问题反馈", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = goodsFeedbackService.removeByIds(idsLong);
return R.isTrue(result);
}
}

141
src/main/java/com/qs/serve/modules/goods/entity/GoodsFeedback.java

@ -0,0 +1,141 @@
package com.qs.serve.modules.goods.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 2024-10-25
*/
@Data
@TableName("goods_feedback")
public class GoodsFeedback implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** spuId */
private Long spuId;
/** 产品编码 */
@Length(max = 255,message = "产品编码长度不能超过255字")
private String spuCode;
/** 产品名称 */
@Length(max = 255,message = "产品名称长度不能超过255字")
private String spuName;
/** skuId */
private Long skuId;
/** sku编码 */
@Length(max = 255,message = "sku编码长度不能超过255字")
private String skuCode;
/** sku名称 */
@Length(max = 255,message = "sku名称长度不能超过255字")
private String skuName;
/** 反馈图片 */
@Length(max = 1024,message = "反馈图片长度不能超过1024字")
private String imgUrls;
/** 反馈类型 */
@Length(max = 255,message = "反馈类型长度不能超过255字")
private String feedbackType;
/** 反馈内容 */
@Length(max = 255,message = "反馈内容长度不能超过255字")
private String feedbackText;
/** 反馈人id */
@Length(max = 64,message = "反馈人id长度不能超过64字")
private String userId;
/** 反馈人编码 */
@Length(max = 64,message = "反馈人编码长度不能超过64字")
private String userCode;
/** 反馈人 */
@Length(max = 64,message = "反馈人长度不能超过64字")
private String userName;
/** 备注 */
@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 GoodsFeedback toNewObject(GoodsFeedback source){
GoodsFeedback feedback = new GoodsFeedback();
feedback.setId(source.getId());
feedback.setSpuId(source.getSpuId());
feedback.setSpuCode(source.getSpuCode());
feedback.setSpuName(source.getSpuName());
feedback.setSkuId(source.getSkuId());
feedback.setSkuCode(source.getSkuCode());
feedback.setSkuName(source.getSkuName());
feedback.setImgUrls(source.getImgUrls());
feedback.setFeedbackType(source.getFeedbackType());
feedback.setFeedbackText(source.getFeedbackText());
feedback.setUserId(source.getUserId());
feedback.setUserCode(source.getUserCode());
feedback.setUserName(source.getUserName());
feedback.setRemark(source.getRemark());
feedback.setCreateTime(source.getCreateTime());
feedback.setUpdateTime(source.getUpdateTime());
feedback.setTenantId(source.getTenantId());
feedback.setDelFlag(source.getDelFlag());
feedback.setCreateBy(source.getCreateBy());
feedback.setUpdateBy(source.getUpdateBy());
return feedback;
}
}

32
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsFeedbackBo.java

@ -0,0 +1,32 @@
package com.qs.serve.modules.goods.entity.bo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
/**
* @author YenHex
* @since 2024/10/28
*/
@Data
public class GoodsFeedbackBo {
/** spuId */
private Long spuId;
/** skuId */
private Long skuId;
/** 反馈图片 */
@Length(max = 1024,message = "反馈图片长度不能超过1024字")
private String imgUrls;
/** 反馈类型 */
private String feedbackType;
/** 反馈内容 */
@Length(max = 255,message = "反馈内容长度不能超过255字")
private String feedbackText;
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsFeedbackMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsFeedback;
/**
* 问题反馈 Mapper
* @author YenHex
* @date 2024-10-25
*/
public interface GoodsFeedbackMapper extends BaseMapper<GoodsFeedback> {
}

21
src/main/java/com/qs/serve/modules/goods/service/GoodsFeedbackService.java

@ -0,0 +1,21 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsFeedback;
import com.qs.serve.modules.goods.entity.bo.GoodsFeedbackBo;
/**
* 问题反馈 服务接口
* @author YenHex
* @date 2024-10-25
*/
public interface GoodsFeedbackService extends IService<GoodsFeedback> {
/**
* 编辑
* @param param
*/
void modify(GoodsFeedbackBo param);
}

60
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsFeedbackServiceImpl.java

@ -0,0 +1,60 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.bo.GoodsFeedbackBo;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
import com.qs.serve.modules.goods.mapper.GoodsSpuMapper;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysUserMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsFeedback;
import com.qs.serve.modules.goods.service.GoodsFeedbackService;
import com.qs.serve.modules.goods.mapper.GoodsFeedbackMapper;
/**
* 问题反馈 服务实现类
* @author YenHex
* @since 2024-10-25
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsFeedbackServiceImpl extends ServiceImpl<GoodsFeedbackMapper,GoodsFeedback> implements GoodsFeedbackService {
private final GoodsSpuMapper goodsSpuMapper;
private final GoodsSkuMapper goodsSkuMapper;
private final SysUserMapper sysUserMapper;
@Override
public void modify(GoodsFeedbackBo param) {
GoodsFeedback feedback = CopierUtil.copy(param,new GoodsFeedback());
if(param.getSkuId()!=null){
GoodsSku goodsSku = goodsSkuMapper.selectById(param.getSkuId());
GoodsSpu goodsSpu = goodsSpuMapper.selectById(param.getSpuId());
feedback.setSpuId(goodsSpu.getId());
feedback.setSpuCode(goodsSpu.getSpuCode());
feedback.setSpuName(goodsSpu.getName());
feedback.setSkuId(goodsSku.getId());
feedback.setSkuCode(goodsSku.getSkuCode());
feedback.setSkuName(goodsSku.getSkuName());
}else {
GoodsSpu goodsSpu = goodsSpuMapper.selectById(param.getSpuId());
feedback.setSpuId(goodsSpu.getId());
feedback.setSpuCode(goodsSpu.getSpuCode());
feedback.setSpuName(goodsSpu.getName());
}
SysUser sysUser = sysUserMapper.selectById(AuthContextUtils.getSysUserId());
feedback.setUserId(sysUser.getId());
feedback.setUserCode(sysUser.getCode());
feedback.setUserName(sysUser.getName());
super.save(feedback);
}
}
Loading…
Cancel
Save