rk
9 小时以前 580f4d3c2ca9eee53eee95a4de2f6610b790780a
server/dmmall_web/src/main/java/com/doumee/api/web/ShopApi.java
@@ -1,14 +1,37 @@
package com.doumee.api.web;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.config.annotation.LoginShopRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Integral;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.business.model.WithdrawRecord;
import com.doumee.dao.web.dto.IntegralRecordDTO;
import com.doumee.dao.web.dto.ShopLoginDTO;
import com.doumee.dao.web.dto.shop.*;
import com.doumee.dao.web.request.MyCustomerRequest;
import com.doumee.dao.web.request.SaleReportRequest;
import com.doumee.dao.web.request.WithdrawApplyRequest;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.dao.web.response.MyCustomerResponse;
import com.doumee.dao.web.response.SaleReportResponse;
import com.doumee.dao.web.response.ShopInfoResponse;
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.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
 * Created by IntelliJ IDEA.
@@ -29,11 +52,11 @@
     * @param shopId
     * @return
     */
    @ApiOperation(value = "获取店铺门面信息", notes = "小程序端")
    @GetMapping("/shopFaceDetailDTO")
    public ApiResponse<ShopFaceDetailDTO> getShopFaceDetailDTO(@RequestParam Integer shopId){
        return ApiResponse.success(shopService.getShopFaceDetailDTO(shopId,getMemberId()));
    }
//    @ApiOperation(value = "获取店铺门面信息", notes = "小程序端")
//    @GetMapping("/shopFaceDetailDTO")
//    public ApiResponse<ShopFaceDetailDTO> getShopFaceDetailDTO(@RequestParam Integer shopId){
//        return ApiResponse.success(shopService.getShopFaceDetailDTO(shopId,getMemberId()));
//    }
    /**
     * 推荐商铺列表
@@ -68,4 +91,102 @@
        shopService.update(shopDTO,memberId);
        return ApiResponse.success(null);
    }
    @LoginRequired
    @ApiOperation(value = "用户下单查询可选择的自提经销商", notes = "小程序端")
    @PostMapping("/getShopList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse getShopList(@RequestBody ShopListDTO dto){
        return ApiResponse.success(shopService.getShopList(dto));
    }
    @LoginShopRequired
    @ApiOperation(value = "经销商 - 提现申请", notes = "小程序端")
    @PostMapping("/withdrawApply")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse withdrawApply(@RequestBody WithdrawApplyRequest request){
        request.setMemberId(getShopId());
        withdrawRecordService.withdrawApply(request,integralService);
        return ApiResponse.success("操作成功");
    }
    @LoginShopRequired
    @ApiOperation("经销商 - 查询提现申请详情")
    @GetMapping("/withdrawDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<WithdrawRecord> withdrawDetail(@RequestParam Integer id) {
        return ApiResponse.success(withdrawRecordService.findById(id));
    }
    @ApiOperation("经销商 - 账号密码登录")
    @PostMapping("/shopPasswordLogin")
    public ApiResponse<AccountResponse> shopPasswordLogin(@RequestBody ShopLoginDTO dto) {
        return ApiResponse.success(shopService.shopPasswordLogin(dto));
    }
    @ApiOperation("经销商 - 静默登录")
    @PostMapping("/shopOpenidLogin")
    public ApiResponse<AccountResponse> shopOpenidLogin(@RequestBody ShopLoginDTO dto) {
        return ApiResponse.success(shopService.shopOpenidLogin(dto));
    }
    @LoginShopRequired
    @ApiOperation("经销商 - 店铺详情")
    @GetMapping("/getShopInfo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<ShopInfoResponse> getShopInfo() {
        return ApiResponse.success(shopService.getShopInfo(getShopId()));
    }
    @LoginShopRequired
    @ApiOperation("经销商 - 我的客户信息")
    @PostMapping("/myCustomer")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<PageData<Member>> myCustomer(@RequestBody PageWrap<MyCustomerRequest> request) {
        return ApiResponse.success(shopService.myCustomer(request,getShopId()));
    }
    @LoginShopRequired
    @ApiOperation("经销商 - 销售明细")
    @PostMapping("/saleReport")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<SaleReportResponse> saleReport(@RequestBody SaleReportRequest request) {
        return ApiResponse.success(shopService.saleReport(request,getShopId()));
    }
    @LoginShopRequired
    @ApiOperation("经销商 - 退出登录")
    @GetMapping("/logOut")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse logOut(HttpServletRequest request) {
        shopService.logOut(request.getHeader(JwtTokenUtil.HEADER_KEY),getShopId());
        return ApiResponse.success("操作成功");
    }
}