| | |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | @ApiOperation(value = "师傅列表", tags = {"后台-师傅管理"}) |
| | | @GetMapping(value = "/selectServe") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "师傅姓名", name = "workerName", dataType = "String"), |
| | | @ApiImplicitParam(value = "师傅电话", name = "workerPhone", dataType = "String"), |
| | | @ApiImplicitParam(value = "师傅姓名", name = "name", dataType = "String"), |
| | | @ApiImplicitParam(value = "师傅电话", name = "phone", dataType = "String"), |
| | | @ApiImplicitParam(value = "服务城市", name = "city", dataType = "String"), |
| | | @ApiImplicitParam(value = "账号启用状态", name = "state", dataType = "Integer"), |
| | | @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true), |
| | | @ApiImplicitParam(value = "每页显示条数", name = "pageSize", dataType = "Integer", required = true) |
| | | }) |
| | | public R<IPage<MasterWorker>> selectServe(String workerName, String workerPhone, String city, |
| | | public R<IPage<MasterWorker>> selectServe(String name, String phone, String city, Integer state, |
| | | @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LambdaQueryChainWrapper<MasterWorker> wrapper = masterWorkerService.lambdaQuery(); |
| | | wrapper = StringUtils.isNotBlank(workerName) ? wrapper.like(MasterWorker::getRealName, workerName) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(workerPhone) ? wrapper.like(MasterWorker::getPhone, workerPhone) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(name) ? wrapper.like(MasterWorker::getRealName, name) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(phone) ? wrapper.like(MasterWorker::getPhone, phone) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(city) ? wrapper.like(MasterWorker::getCity, city) : wrapper; |
| | | return R.ok(wrapper.eq(MasterWorker::getIsDelete, 0) |
| | | if (null != state) { |
| | | wrapper.eq(MasterWorker::getIsEnable, Constants.ONE); |
| | | } |
| | | return R.ok(wrapper.eq(MasterWorker::getIsDelete, Constants.ZERO) |
| | | .orderByDesc(MasterWorker::getCreateTime).page(Page.of(pageNum, pageSize))); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "新增师傅信息", tags = {"后台-师傅管理-师傅列表管理"}) |
| | | @PostMapping(value = "/save") |
| | | public R<String> save(@RequestBody MasterWorker masterWorker) { |
| | | // MD5加密登录密码(新) |
| | | BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); |
| | | String md5Password = passwordEncoder.encode(Constants.DEFAULT_PASSWORD); |
| | | masterWorker.setPassword(md5Password); |
| | | return masterWorkerService.save(masterWorker) ? R.ok() : R.fail(); |
| | | boolean check = masterWorkerService.checkOnlyPhone(masterWorker.getPhone()); |
| | | if (check) { |
| | | // MD5加密登录密码(新) |
| | | BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); |
| | | String md5Password = passwordEncoder.encode(Constants.DEFAULT_PASSWORD); |
| | | masterWorker.setPassword(md5Password); |
| | | return masterWorkerService.save(masterWorker) ? R.ok() : R.fail(); |
| | | } else { |
| | | return R.fail("该手机号已注册账号!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiOperation(value = "修改师傅信息", tags = {"后台-师傅管理-师傅列表管理"}) |
| | | @PostMapping(value = "/update") |
| | | public R<String> update(@RequestBody MasterWorker masterWorker) { |
| | | return masterWorkerService.updateById(masterWorker) ? R.ok() : R.fail(); |
| | | public R<String> update(@RequestBody @Validated MasterWorker masterWorker) { |
| | | boolean check = masterWorkerService.checkOnlyPhone(masterWorker.getPhone()); |
| | | if (check) { |
| | | return masterWorkerService.updateById(masterWorker) ? R.ok() : R.fail(); |
| | | } else { |
| | | return R.fail("该手机号已注册账号!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增师傅信息 |
| | | * 师傅详细信息 |
| | | * |
| | | * @param workerId 师傅id |
| | | */ |
| | |
| | | List<Evaluate> evaluateList = evaluateService.lambdaQuery().eq(Evaluate::getWorkerId, workerId) |
| | | .eq(Evaluate::getIsDelete, 0).list(); |
| | | List<BigDecimal> star = evaluateList.stream().map(Evaluate::getStarRating).collect(Collectors.toList()); |
| | | // 总评分 / 评价数量 |
| | | BigDecimal starRating = star.stream().reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | BigDecimal result = starRating.divide(new BigDecimal(star.size()), 1, RoundingMode.HALF_UP); |
| | | workerDetail.setStarRating(result); |
| | | return R.fail(workerDetail); |
| | | if (!star.isEmpty()) { |
| | | // 总评分 / 评价数量 |
| | | BigDecimal starRating = star.stream().reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | BigDecimal result = starRating.divide(new BigDecimal(star.size()), 1, RoundingMode.HALF_UP); |
| | | workerDetail.setStarRating(result); |
| | | } |
| | | return R.ok(workerDetail); |
| | | } |
| | | |
| | | } |