Commit 22e307c7 by huluobin

美博会调查问卷

parent 5add2308
package com.gogirl.application.user.customer;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.user.customer.BeautyExpoQuestionnaire;
/**
* <p>
* 服务类
* </p>
*
* @author robbendev
* @since 2020-07-24
*/
public interface IBeautyExpoQuestionnaireService extends IService<BeautyExpoQuestionnaire> {
/**
* 提交调查问卷
*
* @param beautyExpoQuestionnaire
*/
void submitQuestionnaire(BeautyExpoQuestionnaire beautyExpoQuestionnaire);
/**
* 是否已经填写调查问卷
*
* @param customerId
* @return
*/
Boolean hasSubmitted(Integer customerId);
}
package com.gogirl.application.user.customer.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.user.customer.IBeautyExpoQuestionnaireService;
import com.gogirl.domain.user.customer.BeautyExpoQuestionnaire;
import com.gogirl.infrastructure.common.exception.ErrorCode;
import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.mapper.user.customer.BeautyExpoQuestionnaireMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author robbendev
* @since 2020-07-24
*/
@Service
public class BeautyExpoQuestionnaireServiceImpl extends ServiceImpl<BeautyExpoQuestionnaireMapper, BeautyExpoQuestionnaire> implements IBeautyExpoQuestionnaireService {
@Override
public void submitQuestionnaire(BeautyExpoQuestionnaire beautyExpoQuestionnaire) {
if (hasSubmitted(beautyExpoQuestionnaire.getCustomerId())) {
throw new RRException(ErrorCode.CS_2003)
}
this.save(beautyExpoQuestionnaire);
}
@Override
public Boolean hasSubmitted(Integer customerId) {
BeautyExpoQuestionnaire questionnaire = this.getOne(new LambdaQueryWrapper<BeautyExpoQuestionnaire>().eq(BeautyExpoQuestionnaire::getCustomerId, customerId);
return questionnaire != null;
}
}
package com.gogirl.domain.user.customer;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020-07-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="BeautyExpoQuestionnaire对象", description="")
public class BeautyExpoQuestionnaire implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "小程序用户id")
private Integer customerId;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "性别")
private String gender;
@ApiModelProperty(value = "城市")
private String city;
@ApiModelProperty(value = "职业")
private String profession;
}
......@@ -14,6 +14,7 @@ public enum ErrorCode {
CS_1002(1002, "会员才能享受服务"),
CS_2000(2000, "token失效,请重新登陆"),
CS_2002(2002, "余额不足"),
CS_2003(2003, "已经填写过美博会调查问卷"),
OR_2003(2003, "预约冲突"),
......
package com.gogirl.infrastructure.mapper.user.customer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.user.customer.BeautyExpoQuestionnaire;
/**
* <p>
* Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-07-24
*/
public interface BeautyExpoQuestionnaireMapper extends BaseMapper<BeautyExpoQuestionnaire> {
}
package com.gogirl.interfaces.user.customer;
import com.gogirl.application.user.customer.IBeautyExpoQuestionnaireService;
import com.gogirl.domain.user.customer.BeautyExpoQuestionnaire;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.util.SessionUtils;
import com.gogirl.infrastructure.common.util.lock.CustomerIdLock;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* <p>
* 前端控制器
* </p>
*
* @author robbendev
* @since 2020-07-24
*/
@RestController
@Api(tags = "美博会调查问卷")
public class BeautyExpoQuestionnaireController {
@Resource
IBeautyExpoQuestionnaireService beautyExpoQuestionnaireService;
@ApiOperation("/是否已经填写美博会调查问卷")
@GetMapping("/customer/beautyExpoQuestionnaire/hasSubmitted")
public JsonResult<Boolean> hasSubmitted() {
return JsonResult.success(beautyExpoQuestionnaireService.hasSubmitted(SessionUtils.getCustomerId()));
}
@ApiOperation("/提交美博会调查问卷")
@GetMapping("/customer/beautyExpoQuestionnaire/submitQuestionnaire")
public JsonResult<Void> submitQuestionnaire(@RequestBody BeautyExpoQuestionnaire beautyExpoQuestionnaire) {
CustomerIdLock lock = CustomerIdLock.getInstance();
Integer customerId = SessionUtils.getCustomerId();
try {
lock.lock(customerId);
beautyExpoQuestionnaire.setCustomerId(customerId);
beautyExpoQuestionnaireService.submitQuestionnaire(beautyExpoQuestionnaire);
} finally {
lock.unlock(customerId);
}
return JsonResult.success();
}
}
package com.gogirl.interfaces.customer;
package com.gogirl.interfaces.user.customer;
import com.gogirl.application.common.xcx.GogirlTokenService;
import com.gogirl.application.user.customer.CustomerService;
......
package com.gogirl.interfaces.customer;
package com.gogirl.interfaces.user.customer;
import com.gogirl.application.common.xcx.GogirlTokenService;
import com.gogirl.application.user.investigation.BaseQuestionService;
......
package com.gogirl.interfaces.customer;
package com.gogirl.interfaces.user.customer;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gogirl.domain.common.xcx.Zone;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gogirl.infrastructure.mapper.user.customer.BeautyExpoQuestionnaireMapper">
</mapper>
......@@ -128,7 +128,7 @@ public class CodeGenerator {
// strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
strategy.setEntityLombokModel(true);
// strategy.setRestControllerStyle(true);
strategy.setRestControllerStyle(true);
// 公共父类
// strategy.setSuperControllerClass("你自己的父类控制器,没有就不用设置!");
// 写于父类中的公共字段
......
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