mitao
2024-04-30 ab4ea7b8f10c9b66aed9c2ea161a08b25c3851a7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.sinata.rest.modular.mall.controller;
 
import com.sinata.rest.common.ApiUtils;
import com.sinata.rest.core.util.NumUtil;
import com.sinata.rest.core.util.ToolUtil;
import com.sinata.rest.modular.member.controller.common.vo.VoGoodsMerchantInfo;
import com.sinata.rest.modular.member.service.IMemMerchantService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
/**
 * 门店信息接口
 * @author goku
 * @date 2023/3/11
 */
@Slf4j
@Validated
@RestController
@RequestMapping("/mall/merchant")
@Api(tags = "商城-门店信息", description = "门店信息")
public class MallMerchantController {
 
    @Autowired
    private IMemMerchantService merchantService;
 
    @GetMapping(value = "/{id}")
    @ApiOperation(value = "获取门店信息", notes = "根据门店id获取门店信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "门店id", dataType = "Int", paramType = "path", required = true)
    })
    public ApiUtils<VoGoodsMerchantInfo> goodsMerchantInfo(@PathVariable("id") Integer id) {
        VoGoodsMerchantInfo vo = merchantService.merchantInfoByGoodsId(id);
        if (ToolUtil.isNotEmpty(vo)) {
            //计算门店店铺的用户评分
            Double score = merchantService.getMerchantUserScore(id);
            if (Math.abs(score) < 0.0000001) {
                vo.setUserScore(NumUtil.keep1Point(5.0));
            }else {
                vo.setUserScore(NumUtil.keep1Point(score));
            }
        }
        return ApiUtils.returnOK(vo);
    }
 
}