package com.stylefeng.guns.modular.api;
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.modular.system.model.Area;
|
import com.stylefeng.guns.modular.system.model.IntegralOrder;
|
import com.stylefeng.guns.modular.system.service.IAreaService;
|
import com.stylefeng.guns.modular.system.service.IIntegralGoodsService;
|
import com.stylefeng.guns.modular.system.service.IIntegralOrderService;
|
import com.stylefeng.guns.modular.system.service.IUserInfoService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.warpper.IntegralGoodsWarpper;
|
import com.stylefeng.guns.modular.system.warpper.IntegralOrderWarpper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Api
|
@RestController
|
@RequestMapping("/api/integralGoods")
|
public class IntegralGoodsController {
|
|
@Autowired
|
private IIntegralGoodsService integralGoodsService;
|
|
@Autowired
|
private IIntegralOrderService integralOrderService;
|
|
@Autowired
|
private IUserInfoService userInfoService;
|
@Autowired
|
private IAreaService areaService;
|
|
|
/**
|
* 获取大区列表
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/queryArea")
|
@ApiOperation(value = "获取大区列表", tags = {"用户端-积分相关"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<Map<String,Object>>> queryArea(Integer language,HttpServletRequest request){
|
try {
|
List<Area> areas = areaService.selectList(new EntityWrapper<Area>());
|
List<Map<String,Object>> result = new ArrayList<>();
|
for (Area area : areas) {
|
Map<String,Object> map = new HashMap<>(2);
|
map.put("id",area.getId());
|
switch (language){
|
case 1:
|
map.put("cityName",area.getChineseName());
|
break;
|
case 2:
|
map.put("cityName",area.getEnglishName());
|
break;
|
case 3:
|
map.put("cityName",area.getFrenchName());
|
break;
|
}
|
result.add(map);
|
}
|
return ResultUtil.success(result);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 获取积分兑换的商品
|
* @param pageNum
|
* @param size
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/queryGoods")
|
@ApiOperation(value = "获取积分兑换的商品", tags = {"用户端-积分相关"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<IntegralGoodsWarpper>> queryGoods(Integer pageNum, Integer size){
|
try {
|
List<Map<String, Object>> list = integralGoodsService.queryGoods(pageNum, size);
|
return ResultUtil.success(IntegralGoodsWarpper.getIntegralGoodsWarppers(list));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取商品详情
|
* @param id
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/queryGoodsInfo")
|
@ApiOperation(value = "获取商品详情", tags = {"用户端-积分相关"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "商品id", name = "id", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil queryGoodsInfo(Integer id){
|
try {
|
Map<String, Object> map = integralGoodsService.queryGoodsInfo(id);
|
return ResultUtil.success(IntegralGoodsWarpper.getIntegralGoodsWarpper(map));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 兑换商品
|
* @param integralOrder
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/addIntegralOrder")
|
@ApiOperation(value = "兑换商品", tags = {"用户端-积分相关"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "商品id", name = "goodsId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "收件人", name = "consigneeName", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "收件人电话", name = "consigneePhone", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "收货地址", name = "consigneeAddress", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "备注", name = "remark", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "1=中文,2=英文,3=法语", name = "language", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil addIntegralOrder(IntegralOrder integralOrder,Integer language, HttpServletRequest request){
|
try {
|
Integer uid = userInfoService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return integralOrderService.addIntegralOrder(integralOrder,language, uid);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
@ResponseBody
|
@PostMapping("/queryConvertHistory")
|
@ApiOperation(value = "获取兑换历史记录", tags = {"用户端-积分相关"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "1=中文,2=英文,3=法语", name = "language", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<IntegralOrderWarpper>> queryConvertHistory(Integer pageNum, Integer size,Integer language, HttpServletRequest request){
|
try {
|
Integer uid = userInfoService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<Map<String, Object>> list = integralOrderService.queryConvertHistory(pageNum, size, uid,language);
|
return ResultUtil.success(IntegralOrderWarpper.getIntegralOrderWarppers(list));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
}
|