k94314517
2024-07-16 ac2230cf612417b2dcbdcc23814e19f4955941b2
server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -4,19 +4,23 @@
import com.doumee.config.annotation.LoginRequired;
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.dao.business.model.CustomerLog;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.business.model.Users;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.dao.web.response.BjParamConfigResponse;
import com.doumee.service.business.BjParamService;
import com.doumee.service.business.CustomerService;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.*;
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.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -29,7 +33,7 @@
 * @Author : Rk
 * @create 2024/7/10 14:03
 */
@Api(tags = "客户端小程序用户业务")
@Api(tags = "【C端小程序】用户业务")
@Trace(exclude = true)
@RestController
@RequestMapping("/web/customer")
@@ -48,6 +52,15 @@
    @Autowired
    private ZbomCRMService zbomCRMService;
    @Autowired
    private ShopService shopService;
    @Autowired
    private UsersService usersService;
    @Autowired
    private CustomerUserService customerUserService;
    @ApiOperation(value = "客户端小程序登陆", notes = "客户端小程序")
    @GetMapping("/wxLoginCustomer")
@@ -74,10 +87,41 @@
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse updMemberDetail(@RequestBody EditMemberRequest editMemberRequest) {
        editMemberRequest.setMemberId(getMemberId());
        memberService.updMemberDetail(editMemberRequest);
        return  ApiResponse.success("更新成功");
    public ApiResponse<Member> editMember(@RequestBody EditMemberRequest editMemberRequest) {
        editMemberRequest.setId(getMemberId());
        //同步导购绑定信息
        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
            customerUserService.syncByPhone(editMemberRequest.getPhone());
        }
        return  ApiResponse.success("更新成功",memberService.updMemberDetail(editMemberRequest));
    }
    @LoginRequired
    @ApiOperation(value = "绑定手机号信息", notes = "客户端小程序")
    @PostMapping("/binDingPhone")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<Member> binDingPhone(@RequestBody EditMemberRequest editMemberRequest) {
        editMemberRequest.setId(getMemberId());
        //同步导购绑定信息
        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
            customerUserService.syncByPhone(editMemberRequest.getPhone());
        }
        return  ApiResponse.success("更新成功",memberService.updMemberPhone(editMemberRequest));
    }
    @LoginRequired
    @ApiOperation(value = "同步导购绑定信息", notes = "客户端小程序")
    @GetMapping("/syncCustomerUser")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号信息", required = true),
    })
    public ApiResponse syncCustomerUser(@RequestParam String phone) {
        customerUserService.syncByPhone(phone);
        return  ApiResponse.success("同步成功");
    }
    @LoginRequired
@@ -146,5 +190,63 @@
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "门店列表", notes = "客户端小程序")
    @PostMapping("/shopPage")   @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<PageData<Shop>> shopPage (@RequestBody PageWrap<Shop> pageWrap) {
        return ApiResponse.success(shopService.queryShopByLL(pageWrap));
    }
    @LoginRequired
    @ApiOperation(value = "门店详情", notes = "客户端小程序")
    @GetMapping("/shopDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "shopId", value = "门店主键", required = true)
    })
    public ApiResponse<Shop> shopDetail (@RequestParam Long shopId) {
        Long memberId = this.getMemberId();
        return ApiResponse.success(shopService.shopDetail(shopId,memberId));
    }
    @LoginRequired
    @ApiOperation("我的导购列表")
    @PostMapping("/myUserPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<PageData<Users>> myUserPage (@RequestBody PageWrap<Users> pageWrap) {
        return ApiResponse.success(usersService.findPage(pageWrap));
    }
    @LoginRequired
    @ApiOperation(value = "导购详情", notes = "客户端小程序")
    @GetMapping("/usersDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "userId", value = "导购主键", required = true)
    })
    public ApiResponse<Users> usersDetail (@RequestParam Long userId) {
        return ApiResponse.success(usersService.usersDetail(userId));
    }
    @LoginRequired
    @ApiOperation(value = "测试小程序Token", notes = "客户端小程序")
    @GetMapping("/testToken")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse testToken () {
        memberService.updWxMiniToken();
        return ApiResponse.success("更新成功");
    }
}