Commit e21bade3 authored by shiyu's avatar shiyu

新增商品关注

parent a0c692fe
......@@ -45,4 +45,38 @@ public class DisposableSubscribeRecordEnum {
return desc;
}
}
public enum ItemFollowStateEnum {
NOT_FOLLOWED(0, "未关注"),
FOLLOWED(1, "已关注"),
;
private int code;
private String des;
ItemFollowStateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (DisposableSubscribeRecordEnum.ItemFollowStateEnum itemFollowStateEnum : DisposableSubscribeRecordEnum.ItemFollowStateEnum.values()) {
if (code == itemFollowStateEnum.getCode()) {
return itemFollowStateEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.db.dao.distribution;
import com.wwdz.ch.db.domain.distribution.SpecialPerformanceItemFollow;
import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceItemFollowRequestDto;
import java.util.List;
public interface SpecialPerformanceItemFollowDao {
List<SpecialPerformanceItemFollow> findList(SpecialPerformanceItemFollowRequestDto dto);
List<SpecialPerformanceItemFollow> findAllList(int specialPerformanceId);
boolean insert(SpecialPerformanceItemFollow specialPerformanceItemFollow);
boolean update(SpecialPerformanceItemFollow specialPerformanceItemFollow);
}
package com.wwdz.ch.db.dto.request.distribution;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class SpecialPerformanceItemFollowRequestDto implements Entity {
private Long id;
/**
* 专场id
*/
private Integer specialPerformanceId;
/**
* 商品id
*/
private Long itemId;
/**
* 商品所属用户id
*/
private Long creatorId;
/**
* 关注商品的用户id
*/
private Long userId;
/**
* 1关注
*/
private Integer state;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
package com.wwdz.ch.db.impl.distribution;
import com.wwdz.ch.db.dao.distribution.SpecialPerformanceItemFollowDao;
import com.wwdz.ch.db.domain.distribution.SpecialPerformanceItemFollow;
import com.wwdz.ch.db.domain.distribution.SpecialPerformanceItemFollowExample;
import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceItemFollowRequestDto;
import com.wwdz.ch.db.mapper.distribution.SpecialPerformanceItemFollowMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class SpecialPerformanceItemFollowDaoImpl implements SpecialPerformanceItemFollowDao {
@Autowired
SpecialPerformanceItemFollowMapper specialPerformanceItemFollowMapper;
@Override
public List<SpecialPerformanceItemFollow> findList(SpecialPerformanceItemFollowRequestDto dto) {
return null;
}
@Override
public List<SpecialPerformanceItemFollow> findAllList(int specialPerformanceId) {
SpecialPerformanceItemFollowExample example = new SpecialPerformanceItemFollowExample();
SpecialPerformanceItemFollowExample.Criteria criteria = example.createCriteria();
criteria.andSpecialPerformanceIdEqualTo(specialPerformanceId);
criteria.andStateEqualTo(1);
return specialPerformanceItemFollowMapper.selectByExample(example);
}
@Override
public boolean insert(SpecialPerformanceItemFollow specialPerformanceItemFollow) {
return specialPerformanceItemFollowMapper.insert(specialPerformanceItemFollow) > 0;
}
@Override
public boolean update(SpecialPerformanceItemFollow specialPerformanceItemFollow) {
return false;
}
}
package com.wwdz.ch.wx.impl.distribution;
import com.wwdz.ch.core.consts.DisposableSubscribeRecordEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.dao.distribution.SpecialPerformanceItemFollowDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.SpecialPerformanceItemFollow;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceItemFollowRequestDto;
import com.wwdz.ch.wx.service.distribution.SpecialPerformanceItemFollowService;
import com.xxdxxs.entity.Entity;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class SpecialPerformanceItemFollowServiceImpl implements SpecialPerformanceItemFollowService {
private static final Logger logger = LoggerFactory.getLogger(SpecialPerformanceItemFollowServiceImpl.class);
@Autowired
SpecialPerformanceItemFollowDao specialPerformanceItemFollowDao;
@Autowired
SupplierItemDao supplierItemDao;
@Override
public Result addItemFollow(SpecialPerformanceItemFollowRequestDto dto) {
try {
SpecialPerformanceItemFollow specialPerformanceItemFollow = new SpecialPerformanceItemFollow();
EntityMapper.copyAttribute(dto, specialPerformanceItemFollow);
SupplierItem supplierItem = supplierItemDao.findById(dto.getItemId());
specialPerformanceItemFollow.setCreatorId(supplierItem.getCreatorId());
specialPerformanceItemFollow.setCreateTime(new Date());
specialPerformanceItemFollow.setUpdateTime(new Date());
specialPerformanceItemFollow.setState(DisposableSubscribeRecordEnum.ItemFollowStateEnum.FOLLOWED.getCode());
specialPerformanceItemFollowDao.update(specialPerformanceItemFollow);
} catch (Exception e) {
logger.error("新增专场商品关注记录失败 error : {}", e);
}
return Result.failed();
}
}
package com.wwdz.ch.wx.service.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceItemFollowRequestDto;
public interface SpecialPerformanceItemFollowService {
/**
* 新增专场商品关注记录
* @param dto
* @return
*/
Result addItemFollow(SpecialPerformanceItemFollowRequestDto dto);
}
package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceItemFollowRequestDto;
import com.wwdz.ch.wx.service.distribution.SpecialPerformanceItemFollowService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
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;
@RestController
@RequestMapping("/wx/specialPerformanceItemFollow")
public class SpecialPerformanceItemFollowController {
private static final Logger logger = LoggerFactory.getLogger(SpecialPerformanceItemFollowController.class);
@Autowired
SpecialPerformanceItemFollowService specialPerformanceItemFollowService;
@ApiOperation(value = "新增专场商品关注记录")
@PostMapping("/findInfo")
public Result findInfo(@RequestBody SpecialPerformanceItemFollowRequestDto dto) {
logger.info("新增专场商品关注记录,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("specialPerformanceId", "专场id").must().number()
.set("itemId", "商品id").must().number()
.set("userId", "关注商品的用户id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return specialPerformanceItemFollowService.addItemFollow(dto);
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment