| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Areas; |
| | | import com.doumee.dao.dto.AreasDto; |
| | | import com.doumee.service.business.AreasService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/02/15 08:55 |
| | | */ |
| | | @Api(tags = "çå¸åºä¿¡æ¯è¡¨") |
| | | @RestController |
| | | @RequestMapping("/business/areas") |
| | | public class AreasController extends BaseController { |
| | | |
| | | @Autowired |
| | | private AreasService areasService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:areas:create") |
| | | public ApiResponse create(@RequestBody Areas areas) { |
| | | |
| | | return ApiResponse.success(areasService.create(areas)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:areas:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | areasService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:areas:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String [] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | areasService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:areas:update") |
| | | public ApiResponse updateById(@RequestBody Areas areas) { |
| | | areasService.updateById(areas); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | // @RequiresPermissions("business:areas:query") |
| | | public ApiResponse<PageData<Areas>> findPage (@RequestBody PageWrap<Areas> pageWrap) { |
| | | return ApiResponse.success(areasService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("å
¨é¨æ å½¢æ¥è¯¢") |
| | | @PostMapping("/treeList") |
| | | // @RequiresPermissions("business:areas:query") |
| | | public ApiResponse<List<Areas>> treeList (@RequestBody AreasDto pageWrap) { |
| | | Areas a = new Areas(); |
| | | BeanUtils.copyProperties(pageWrap,a); |
| | | return ApiResponse.success(areasService.findList(a)); |
| | | } |
| | | @ApiOperation("æ ¹æ®ç¶èç¹åç±»åæ¥è¯¢") |
| | | @PostMapping("/listByParentId") |
| | | // @RequiresPermissions("business:areas:query") |
| | | public ApiResponse<List<Areas>> listByParentId (@RequestBody AreasDto pageWrap) { |
| | | return ApiResponse.success(areasService.findByParentId(pageWrap.getParentId(),pageWrap.getType(),pageWrap.getFlag()) ); |
| | | } |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:areas:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Areas> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Areas.class).export(areasService.findPage(pageWrap).getRecords(), "çå¸åºä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:areas:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(areasService.findById(id)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Banner; |
| | | import com.doumee.service.business.BannerService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * è½®æå¾ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Api(tags = "è½®æå¾") |
| | | @RestController |
| | | @RequestMapping("/business/banner") |
| | | public class BannerController extends BaseController { |
| | | |
| | | @Autowired |
| | | private BannerService bannerService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:banner:create") |
| | | public ApiResponse create(@RequestBody Banner banner) { |
| | | return ApiResponse.success(bannerService.create(banner)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:banner:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | bannerService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:banner:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String[] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | bannerService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:banner:update") |
| | | public ApiResponse updateById(@RequestBody Banner banner) { |
| | | bannerService.updateById(banner); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @RequiresPermissions("business:banner:query") |
| | | public ApiResponse<PageData<Banner>> findPage(@RequestBody PageWrap<Banner> pageWrap) { |
| | | return ApiResponse.success(bannerService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:banner:exportExcel") |
| | | public void exportExcel(@RequestBody PageWrap<Banner> pageWrap, HttpServletResponse response) { |
| | | List<Banner> bannerList = bannerService.findPage(pageWrap).getRecords(); |
| | | ExcelExporter.build(Banner.class).export(bannerList, "è½®æå¾", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:banner:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(bannerService.findById(id)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.DriverInfo; |
| | | import com.doumee.dao.dto.AuditDTO; |
| | | import com.doumee.service.business.DriverInfoService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 叿ºæ³¨åä¿¡æ¯ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Api(tags = "叿ºæ³¨åä¿¡æ¯") |
| | | @RestController |
| | | @RequestMapping("/business/driverInfo") |
| | | public class DriverInfoController extends BaseController { |
| | | |
| | | @Autowired |
| | | private DriverInfoService driverInfoService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:driverInfo:create") |
| | | public ApiResponse create(@RequestBody DriverInfo driverInfo) { |
| | | return ApiResponse.success(driverInfoService.create(driverInfo)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:driverInfo:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | driverInfoService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:driverInfo:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String[] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | driverInfoService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:driverInfo:update") |
| | | public ApiResponse updateById(@RequestBody DriverInfo driverInfo) { |
| | | driverInfoService.updateById(driverInfo); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @RequiresPermissions("business:driverInfo:query") |
| | | public ApiResponse<PageData<DriverInfo>> findPage(@RequestBody PageWrap<DriverInfo> pageWrap) { |
| | | return ApiResponse.success(driverInfoService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:driverInfo:exportExcel") |
| | | public void exportExcel(@RequestBody PageWrap<DriverInfo> pageWrap, HttpServletResponse response) { |
| | | List<DriverInfo> driverInfoList = driverInfoService.findPage(pageWrap).getRecords(); |
| | | ExcelExporter.build(DriverInfo.class).export(driverInfoList, "叿ºæ³¨åä¿¡æ¯", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:driverInfo:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(driverInfoService.findById(id)); |
| | | } |
| | | |
| | | @ApiOperation("审æ¹å¸æºå®å认è¯") |
| | | @PostMapping("/audit") |
| | | @RequiresPermissions("business:driverInfo:audit") |
| | | public ApiResponse audit(@RequestBody AuditDTO auditDTO) { |
| | | auditDTO.setAuditUser(this.getLoginUser().getId()); |
| | | driverInfoService.auditVerify(auditDTO); |
| | | return ApiResponse.success("å®¡æ¹æå"); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.PricingRule; |
| | | import com.doumee.dao.dto.LocalStoragePricingSaveDTO; |
| | | import com.doumee.dao.dto.RemoteDeliveryPricingSaveDTO; |
| | | import com.doumee.dao.dto.EstimatedDeliverySaveDTO; |
| | | import com.doumee.dao.dto.StoreDepositSaveDTO; |
| | | import com.doumee.dao.dto.RevenueShareSaveDTO; |
| | | import com.doumee.dao.vo.LocalStoragePricingVO; |
| | | import com.doumee.dao.vo.RemoteDeliveryPricingVO; |
| | | import com.doumee.dao.vo.EstimatedDeliveryVO; |
| | | import com.doumee.dao.vo.StoreDepositVO; |
| | | import com.doumee.dao.vo.RevenueShareVO; |
| | | import com.doumee.service.business.PricingRuleService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 计价è§åé
ç½® |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Api(tags = "计价è§åé
ç½®") |
| | | @RestController |
| | | @RequestMapping("/business/pricingRule") |
| | | public class PricingRuleController extends BaseController { |
| | | |
| | | @Autowired |
| | | private PricingRuleService pricingRuleService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:pricingRule:create") |
| | | public ApiResponse create(@RequestBody PricingRule pricingRule) { |
| | | return ApiResponse.success(pricingRuleService.create(pricingRule)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:pricingRule:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | pricingRuleService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:pricingRule:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String[] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | pricingRuleService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:pricingRule:update") |
| | | public ApiResponse updateById(@RequestBody PricingRule pricingRule) { |
| | | pricingRuleService.updateById(pricingRule); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse<PageData<PricingRule>> findPage(@RequestBody PageWrap<PricingRule> pageWrap) { |
| | | return ApiResponse.success(pricingRuleService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:pricingRule:exportExcel") |
| | | public void exportExcel(@RequestBody PageWrap<PricingRule> pageWrap, HttpServletResponse response) { |
| | | List<PricingRule> pricingRuleList = pricingRuleService.findPage(pageWrap).getRecords(); |
| | | ExcelExporter.build(PricingRule.class).export(pricingRuleList, "计价è§åé
ç½®", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(pricingRuleService.findById(id)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ¹éä¿åå°±å°ååè§å") |
| | | @PostMapping("/localStorage/batchSave") |
| | | @RequiresPermissions("business:pricingRule:create") |
| | | public ApiResponse batchSaveLocalStoragePricing(@RequestBody @Validated LocalStoragePricingSaveDTO request) { |
| | | pricingRuleService.batchSaveLocalStoragePricing(request); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¥è¯¢å°±å°ååè§åå表") |
| | | @GetMapping("/localStorage/list") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse<List<LocalStoragePricingVO>> listLocalStoragePricing(@RequestParam Integer cityId) { |
| | | return ApiResponse.success(pricingRuleService.listLocalStoragePricing(cityId)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ¹éä¿åå¼å°å¯éè§å") |
| | | @PostMapping("/remoteDelivery/batchSave") |
| | | @RequiresPermissions("business:pricingRule:create") |
| | | public ApiResponse batchSaveRemoteDeliveryPricing(@RequestBody @Validated RemoteDeliveryPricingSaveDTO request) { |
| | | pricingRuleService.batchSaveRemoteDeliveryPricing(request); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¥è¯¢å¼å°å¯éè§åå表") |
| | | @GetMapping("/remoteDelivery/list") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse<List<RemoteDeliveryPricingVO>> listRemoteDeliveryPricing(@RequestParam Integer cityId) { |
| | | return ApiResponse.success(pricingRuleService.listRemoteDeliveryPricing(cityId)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å¢é¢è®¡æ¶æé
ç½®") |
| | | @PostMapping("/estimatedDelivery/create") |
| | | @RequiresPermissions("business:pricingRule:create") |
| | | public ApiResponse createEstimatedDelivery(@RequestBody @Validated EstimatedDeliverySaveDTO request) { |
| | | return ApiResponse.success(pricingRuleService.createEstimatedDelivery(request)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("ä¿®æ¹é¢è®¡æ¶æé
ç½®") |
| | | @PostMapping("/estimatedDelivery/update") |
| | | @RequiresPermissions("business:pricingRule:update") |
| | | public ApiResponse updateEstimatedDelivery(@RequestBody @Validated EstimatedDeliverySaveDTO request) { |
| | | pricingRuleService.updateEstimatedDelivery(request); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å é¤é¢è®¡æ¶æé
ç½®") |
| | | @GetMapping("/estimatedDelivery/delete/{id}") |
| | | @RequiresPermissions("business:pricingRule:delete") |
| | | public ApiResponse deleteEstimatedDelivery(@PathVariable Integer id) { |
| | | pricingRuleService.deleteEstimatedDelivery(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¥è¯¢é¢è®¡æ¶æé
ç½®å表") |
| | | @GetMapping("/estimatedDelivery/list") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse<List<EstimatedDeliveryVO>> listEstimatedDelivery(@RequestParam Integer cityId) { |
| | | return ApiResponse.success(pricingRuleService.listEstimatedDelivery(cityId)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ¹éä¿åé¨åºæ³¨åæ¼é") |
| | | @PostMapping("/storeDeposit/batchSave") |
| | | @RequiresPermissions("business:pricingRule:create") |
| | | public ApiResponse batchSaveStoreDeposit(@RequestBody @Validated StoreDepositSaveDTO request) { |
| | | pricingRuleService.batchSaveStoreDeposit(request); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¥è¯¢é¨åºæ³¨åæ¼éå表") |
| | | @GetMapping("/storeDeposit/list") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse<List<StoreDepositVO>> listStoreDeposit(@RequestParam Integer cityId) { |
| | | return ApiResponse.success(pricingRuleService.listStoreDeposit(cityId)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ¹éä¿ååææ¯ä¾") |
| | | @PostMapping("/revenueShare/batchSave") |
| | | @RequiresPermissions("business:pricingRule:create") |
| | | public ApiResponse batchSaveRevenueShare(@RequestBody @Validated RevenueShareSaveDTO request) { |
| | | pricingRuleService.batchSaveRevenueShare(request); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¥è¯¢åææ¯ä¾å表") |
| | | @GetMapping("/revenueShare/list") |
| | | @RequiresPermissions("business:pricingRule:query") |
| | | public ApiResponse<List<RevenueShareVO>> listRevenueShare(@RequestParam Integer cityId) { |
| | | return ApiResponse.success(pricingRuleService.listRevenueShare(cityId)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.ShopInfo; |
| | | import com.doumee.service.business.ShopInfoService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¨åºä¿¡æ¯ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Api(tags = "é¨åºä¿¡æ¯") |
| | | @RestController |
| | | @RequestMapping("/business/shopInfo") |
| | | public class ShopInfoController extends BaseController { |
| | | |
| | | @Autowired |
| | | private ShopInfoService shopInfoService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:shopInfo:create") |
| | | public ApiResponse create(@RequestBody ShopInfo shopInfo) { |
| | | return ApiResponse.success(shopInfoService.create(shopInfo)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:shopInfo:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | shopInfoService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:shopInfo:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String[] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | shopInfoService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:shopInfo:update") |
| | | public ApiResponse updateById(@RequestBody ShopInfo shopInfo) { |
| | | shopInfoService.updateById(shopInfo); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @RequiresPermissions("business:shopInfo:query") |
| | | public ApiResponse<PageData<ShopInfo>> findPage(@RequestBody PageWrap<ShopInfo> pageWrap) { |
| | | return ApiResponse.success(shopInfoService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:shopInfo:exportExcel") |
| | | public void exportExcel(@RequestBody PageWrap<ShopInfo> pageWrap, HttpServletResponse response) { |
| | | List<ShopInfo> shopInfoList = shopInfoService.findPage(pageWrap).getRecords(); |
| | | ExcelExporter.build(ShopInfo.class).export(shopInfoList, "é¨åºä¿¡æ¯", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:shopInfo:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(shopInfoService.findById(id)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Smsrecord; |
| | | import com.doumee.service.business.SmsrecordService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * çä¿¡éªè¯ç |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Api(tags = "çä¿¡éªè¯ç ") |
| | | @RestController |
| | | @RequestMapping("/business/smsrecord") |
| | | public class SmsrecordController extends BaseController { |
| | | |
| | | @Autowired |
| | | private SmsrecordService smsrecordService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:smsrecord:create") |
| | | public ApiResponse create(@RequestBody Smsrecord smsrecord) { |
| | | return ApiResponse.success(smsrecordService.create(smsrecord)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:smsrecord:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | smsrecordService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:smsrecord:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String[] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | smsrecordService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:smsrecord:update") |
| | | public ApiResponse updateById(@RequestBody Smsrecord smsrecord) { |
| | | smsrecordService.updateById(smsrecord); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @RequiresPermissions("business:smsrecord:query") |
| | | public ApiResponse<PageData<Smsrecord>> findPage(@RequestBody PageWrap<Smsrecord> pageWrap) { |
| | | return ApiResponse.success(smsrecordService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:smsrecord:exportExcel") |
| | | public void exportExcel(@RequestBody PageWrap<Smsrecord> pageWrap, HttpServletResponse response) { |
| | | List<Smsrecord> smsrecordList = smsrecordService.findPage(pageWrap).getRecords(); |
| | | ExcelExporter.build(Smsrecord.class).export(smsrecordList, "çä¿¡éªè¯ç ", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:smsrecord:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(smsrecordService.findById(id)); |
| | | } |
| | | |
| | | } |
| | |
| | | <poi.version>5.0.0</poi.version> |
| | | <jjwt.version>0.9.1</jjwt.version> |
| | | <weixin-java-pay.version>4.1.0</weixin-java-pay.version> |
| | | <!-- é¿éäºOSSåå¨ --> |
| | | <aliyun-oss.version>3.8.0</aliyun-oss.version> |
| | | </properties> |
| | | <dependencies> |
| | | <!-- Spring Boot --> |
| | |
| | | <version>0.2.15</version> |
| | | </dependency> |
| | | |
| | | <!-- é¿éäºOSS--> |
| | | <dependency> |
| | | <groupId>com.aliyun</groupId> |
| | | <artifactId>aliyun-java-sdk-core</artifactId> |
| | | <version>3.5.0</version> |
| | | <groupId>com.aliyun.oss</groupId> |
| | | <artifactId>aliyun-sdk-oss</artifactId> |
| | | <version>${aliyun-oss.version}</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | |
| | | <artifactId>aliyun-java-sdk-dysmsapi</artifactId> |
| | | <version>1.1.0</version> |
| | | </dependency> |
| | | |
| | | <!-- aliyun sms SDK --> |
| | | <dependency> |
| | | <groupId>com.aliyun</groupId> |
| | | <artifactId>aliyun-java-sdk-core</artifactId> |
| | | <version>4.5.3</version> |
| | | </dependency> |
| | | <!-- æ¼é³è½¬æ¢ --> |
| | | <dependency> |
| | | <groupId>com.belerweb</groupId> |
| | | <artifactId>pinyin4j</artifactId> |
| | | <version>2.5.1</version> |
| | | </dependency> |
| | | <!-- <dependency> |
| | | <groupId>com.azure.spring</groupId> |
| | | <artifactId>spring-cloud-azure-starter-storage-blob</artifactId> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `MODULE`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:banner:create', 'æ°å»ºè½®æå¾', 'è½®æå¾', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); |
| | | INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `MODULE`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:banner:delete', 'å é¤è½®æå¾', 'è½®æå¾', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); |
| | | INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `MODULE`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:banner:update', 'ä¿®æ¹è½®æå¾', 'è½®æå¾', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); |
| | | INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `MODULE`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:banner:query', 'æ¥è¯¢è½®æå¾', 'è½®æå¾', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); |
| | | INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `MODULE`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:banner:exportExcel', '导åºè½®æå¾(Excel)', 'è½®æå¾', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); |
| | |
| | | package com.doumee.config.cache; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonAutoDetect; |
| | | import com.fasterxml.jackson.annotation.PropertyAccessor; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.data.redis.connection.RedisConnectionFactory; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; |
| | | import org.springframework.data.redis.serializer.StringRedisSerializer; |
| | | |
| | | import java.io.Serializable; |
| | |
| | | public class RedisConfig { |
| | | |
| | | @Bean |
| | | public RedisTemplate<Serializable, Serializable> redisTemplate(RedisConnectionFactory redisConnectionFactory) { |
| | | RedisTemplate<Serializable, Serializable> redisTemplate = new RedisTemplate<>(); |
| | | redisTemplate.setConnectionFactory(redisConnectionFactory); |
| | | // é»è®¤åºååæ¹å¼ |
| | | redisTemplate.setDefaultSerializer(new StringRedisSerializer()); |
| | | // å¼åºååæ¹å¼ |
| | | RedisValueDefaultSerializer<Object> serializer = new RedisValueDefaultSerializer<>(Object.class); |
| | | redisTemplate.setValueSerializer(serializer); |
| | | redisTemplate.setHashValueSerializer(serializer); |
| | | redisTemplate.afterPropertiesSet(); |
| | | return redisTemplate; |
| | | @SuppressWarnings("all") |
| | | public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { |
| | | RedisTemplate<String, Object> template = new RedisTemplate<String, Object>(); |
| | | template.setConnectionFactory(factory); |
| | | Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); |
| | | ObjectMapper om = new ObjectMapper(); |
| | | om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); |
| | | om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL); |
| | | jackson2JsonRedisSerializer.setObjectMapper(om); |
| | | StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); |
| | | // keyéç¨Stringçåºååæ¹å¼ |
| | | template.setKeySerializer(stringRedisSerializer); |
| | | // hashçkeyä¹éç¨Stringçåºååæ¹å¼ |
| | | template.setHashKeySerializer(stringRedisSerializer); |
| | | // valueåºååæ¹å¼éç¨jackson |
| | | template.setValueSerializer(jackson2JsonRedisSerializer); |
| | | // hashçvalueåºååæ¹å¼éç¨jackson |
| | | template.setHashValueSerializer(jackson2JsonRedisSerializer); |
| | | template.afterPropertiesSet(); |
| | | return template; |
| | | } |
| | | } |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | @Component |
| | |
| | | @Resource |
| | | private JwtProperties jwtProperties; |
| | | |
| | | //redisè¿ææ¶é´ |
| | | private static final Integer redisExpire = 365; |
| | | /** |
| | | * çætoken令ç |
| | | * |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * çætokenä¿¡æ¯ï¼åä¸ç¨æ·ä»
ä¿çä¸ä¸ªæætokenï¼ |
| | | * @param userId |
| | | * @param userType ç¨æ·ç±»å 0=ä¼åï¼1=叿ºï¼2=åºéº |
| | | * @param userInfo |
| | | * @param redisTemplate |
| | | * @return |
| | | */ |
| | | public static String generateTokenForRedis(Integer userId, Integer userType, String userInfo, RedisTemplate<String,Object> redisTemplate) { |
| | | // å é¤è¯¥ç¨æ·ä¹åç»å½çtoken |
| | | String userTokenMappingKey = Constants.REDIS_TOKEN_KEY + "user_" + userType + "_" + userId; |
| | | String oldToken = (String) redisTemplate.opsForValue().get(userTokenMappingKey); |
| | | if (StringUtils.isNotBlank(oldToken)) { |
| | | redisTemplate.delete(Constants.REDIS_TOKEN_KEY + oldToken); |
| | | } |
| | | // çææ°token |
| | | String tokenKey = userType +""+ UUID.randomUUID() + "_" + userId; |
| | | redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY + tokenKey, userInfo, redisExpire, TimeUnit.DAYS); |
| | | // è®°å½ç¨æ·ä¸tokençæ å°å
³ç³» |
| | | redisTemplate.opsForValue().set(userTokenMappingKey, tokenKey, redisExpire, TimeUnit.DAYS); |
| | | return tokenKey; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å·æ°ä»¤ç |
| | | * |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.math.BigInteger; |
| | | import java.security.MessageDigest; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public class FileDigest { |
| | | /** |
| | | * è®¡ç®æä»¶çMD5å¼ |
| | | * |
| | | * @param file |
| | | * @return |
| | | */ |
| | | public static String getFileMD5(File file) { |
| | | if (!file.isFile()) { |
| | | return null; |
| | | } |
| | | MessageDigest digest = null; |
| | | FileInputStream in = null; |
| | | byte buffer[] = new byte[1024]; |
| | | int len; |
| | | try { |
| | | digest = MessageDigest.getInstance("MD5"); |
| | | in = new FileInputStream(file); |
| | | while ((len = in.read(buffer, 0, 1024)) != -1) { |
| | | digest.update(buffer, 0, len); |
| | | } |
| | | in.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | BigInteger bigInt = new BigInteger(1, digest.digest()); |
| | | return bigInt.toString(16); |
| | | } |
| | | |
| | | /** |
| | | * è®¡ç®æä»¶å¤¹çMD5å¼ |
| | | * |
| | | * @param file |
| | | * @param listChild |
| | | * @return |
| | | */ |
| | | public static Map<String, String> getDirMD5(File file, boolean listChild) { |
| | | if (!file.isDirectory()) { |
| | | return null; |
| | | } |
| | | // <filepath,md5> |
| | | Map<String, String> map = new HashMap<String, String>(); |
| | | String md5; |
| | | File files[] = file.listFiles(); |
| | | for (int i = 0; i < files.length; i++) { |
| | | File f = files[i]; |
| | | if (f.isDirectory() && listChild) { |
| | | map.putAll(getDirMD5(f, listChild)); |
| | | } else { |
| | | md5 = getFileMD5(f); |
| | | if (md5 != null) { |
| | | map.put(f.getPath(), md5); |
| | | } |
| | | } |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import net.sourceforge.pinyin4j.PinyinHelper; |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; |
| | | import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.text.Collator; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ±è¯æ¼é³å¸®å©ç±» |
| | | * |
| | | * @author yanglong |
| | | * |
| | | */ |
| | | public class PinYinUtil { |
| | | |
| | | /** |
| | | * æ¯è¾ä¸¤ä¸ªæ±åçé¦åæ¯ <br> |
| | | * |
| | | * @param ch1 |
| | | * @param ch2 |
| | | * @return |
| | | */ |
| | | public static int comparatorWord(String ch1, String ch2) { |
| | | return getFirstSpell(ch2).compareTo(getFirstSpell(ch1)); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | Comparator<Object> com=Collator.getInstance(java.util.Locale.CHINA); |
| | | String[] newArray={"ä¸å±±","æ±å¤´","广å·","å®åº","鳿±","å京","æ¦æ±","å京","å®é³","åæ¹"}; |
| | | List<String> list = Arrays.asList(newArray); |
| | | Collections.sort(list, com); |
| | | for(String i:list){ |
| | | System.out.print(i+" "); |
| | | } |
| | | //System.err.println(getFirstFirstSpell("å¾åéç积åå¾å°çè§")); |
| | | } |
| | | /** |
| | | * è·åæ±å串æ¼é³é¦åæ¯ï¼è±æå符ä¸å |
| | | * |
| | | * @param chinese |
| | | * æ±å串 |
| | | * @return æ±è¯æ¼é³é¦åæ¯ |
| | | */ |
| | | public static String getFirstSpell(String chinese) { |
| | | StringBuffer pybf = new StringBuffer(); |
| | | char[] arr = chinese.toCharArray(); |
| | | HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); |
| | | defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); |
| | | defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); |
| | | for (int i = 0; i < arr.length; i++) { |
| | | if (arr[i] > 128) { |
| | | try { |
| | | String[] temp = PinyinHelper.toHanyuPinyinStringArray( |
| | | arr[i], defaultFormat); |
| | | if (temp != null) { |
| | | pybf.append(temp[0].charAt(0)); |
| | | } |
| | | } catch (BadHanyuPinyinOutputFormatCombination e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else { |
| | | pybf.append(arr[i]); |
| | | } |
| | | } |
| | | return pybf.toString().replaceAll("\\W", "").trim(); |
| | | } |
| | | /** |
| | | * è·åæ±å串æ¼é³é¦åæ¯ï¼è±æå符ä¸å |
| | | * |
| | | * @param chinese |
| | | * æ±å串 |
| | | * @return æ±è¯æ¼é³é¦åæ¯ |
| | | */ |
| | | public static String getFirstFirstSpell(String chinese) { |
| | | if(StringUtils.isBlank(chinese)){ |
| | | return null; |
| | | } |
| | | StringBuffer pybf = new StringBuffer(); |
| | | chinese = chinese.substring(0,1); |
| | | char[] arr = chinese.toCharArray(); |
| | | HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); |
| | | defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); |
| | | defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); |
| | | for (int i = 0; i < arr.length; i++) { |
| | | if (arr[i] > 128) { |
| | | try { |
| | | String[] temp = PinyinHelper.toHanyuPinyinStringArray( |
| | | arr[i], defaultFormat); |
| | | if (temp != null) { |
| | | pybf.append(temp[0].charAt(0)); |
| | | } |
| | | } catch (BadHanyuPinyinOutputFormatCombination e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else { |
| | | pybf.append(arr[i]); |
| | | } |
| | | } |
| | | return pybf.toString().replaceAll("\\W", "").trim().toUpperCase(); |
| | | } |
| | | |
| | | /** |
| | | * è·åæ±å串æ¼é³ï¼è±æå符ä¸å |
| | | * |
| | | * @param chinese |
| | | * æ±å串 |
| | | * @return æ±è¯æ¼é³ |
| | | */ |
| | | public static String getFullSpell(String chinese) { |
| | | StringBuffer pybf = new StringBuffer(); |
| | | char[] arr = chinese.toCharArray(); |
| | | HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); |
| | | defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); |
| | | defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); |
| | | for (int i = 0; i < arr.length; i++) { |
| | | if (arr[i] > 128) { |
| | | try { |
| | | pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], |
| | | defaultFormat)[0]); |
| | | } catch (BadHanyuPinyinOutputFormatCombination e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else { |
| | | pybf.append(arr[i]); |
| | | } |
| | | } |
| | | return pybf.toString(); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.utils.aliyun; |
| | | |
| | | import com.aliyun.oss.ClientException; |
| | | import com.aliyun.oss.OSSClient; |
| | | import com.aliyun.oss.OSSException; |
| | | import com.aliyun.oss.model.*; |
| | | import com.doumee.core.utils.FileDigest; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.*; |
| | | import java.net.URL; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public class ALiYunUtil { |
| | | private OSSClient client; |
| | | |
| | | // public static final String ENDPOINT = "oss-cn-shanghai.aliyuncs.com"; |
| | | |
| | | public ALiYunUtil(String endpoint, String ACCESS_ID, String ACCESS_KEY) { |
| | | client = new OSSClient(endpoint, ACCESS_ID, ACCESS_KEY); |
| | | } |
| | | |
| | | /** |
| | | * ä¸ä¼ æä»¶ |
| | | * |
| | | * @param bucketName äºç«¯åæ¾bucketåç§° |
| | | * @param key éæ°å½åçæä»¶å |
| | | * @param filename å°è¦ä¸ä¼ çæä»¶åç§° |
| | | * @param mime è¶
ææ¬æ è®°è¯è¨ææ¬ .html,.html text/html æ®éææ¬ .txt text/plain RTFææ¬ |
| | | * .rtf application/rtf GIFå¾å½¢ .gif image/gif JPEGå¾å½¢ .ipeg,.jpg |
| | | * image/jpeg au声鳿件 .au audio/basic MIDIé³ä¹æä»¶ mid,.midi |
| | | * audio/midi,audio/x-midi RealAudioé³ä¹æä»¶ .ra, .ram |
| | | * audio/x-pn-realaudio MPEGæä»¶ .mpg,.mpeg video/mpeg AVIæä»¶ .avi |
| | | * video/x-msvideo GZIPæä»¶ .gz application/x-gzip TARæä»¶ .tar |
| | | * application/x-tar |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws FileNotFoundException |
| | | */ |
| | | |
| | | public void uploadObject(String bucketName, String key, String filename, |
| | | String mime) throws OSSException, ClientException, |
| | | FileNotFoundException { |
| | | File file = new File(filename); |
| | | // 夿æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | isExistBucket(bucketName); |
| | | |
| | | ObjectMetadata objectMeta = new ObjectMetadata(); |
| | | objectMeta.setContentLength(file.length()); |
| | | // å¯ä»¥å¨metadata䏿 è®°æä»¶ç±»å |
| | | if (StringUtils.isNotBlank(mime)) { |
| | | objectMeta.setContentType(mime); |
| | | } |
| | | |
| | | InputStream input = new FileInputStream(file); |
| | | client.putObject(bucketName, key, input, objectMeta); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å
³é |
| | | * |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws FileNotFoundException |
| | | */ |
| | | |
| | | public void shutDown() |
| | | throws OSSException, ClientException, FileNotFoundException { |
| | | if (client != null) { |
| | | // å
³éclient |
| | | client.shutdown(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå 餿件 |
| | | * |
| | | * @param bucketName |
| | | * @param keys |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws FileNotFoundException |
| | | */ |
| | | |
| | | public void deleteObjects(String bucketName, List<String> keys) |
| | | throws OSSException, ClientException, FileNotFoundException { |
| | | if (keys == null || keys.size() > 0) { |
| | | return; |
| | | } |
| | | DeleteObjectsResult deleteObjectsResult = client |
| | | .deleteObjects(new DeleteObjectsRequest(bucketName) |
| | | .withKeys(keys)); |
| | | List<String> deletedObjects = deleteObjectsResult.getDeletedObjects(); |
| | | // å
³éclient |
| | | client.shutdown(); |
| | | } |
| | | |
| | | /** |
| | | * ä¸ä¼ æä»¶ |
| | | * |
| | | * @param bucketName äºç«¯åæ¾bucketåç§° |
| | | * å°è¦ä¸ä¼ çæä»¶åç§° |
| | | * @param mime è¶
ææ¬æ è®°è¯è¨ææ¬ .html,.html text/html æ®éææ¬ .txt text/plain RTFææ¬ |
| | | * .rtf application/rtf GIFå¾å½¢ .gif image/gif JPEGå¾å½¢ .ipeg,.jpg |
| | | * image/jpeg au声鳿件 .au audio/basic MIDIé³ä¹æä»¶ mid,.midi |
| | | * audio/midi,audio/x-midi RealAudioé³ä¹æä»¶ .ra, .ram |
| | | * audio/x-pn-realaudio MPEGæä»¶ .mpg,.mpeg video/mpeg AVIæä»¶ .avi |
| | | * video/x-msvideo GZIPæä»¶ .gz application/x-gzip TARæä»¶ .tar |
| | | * application/x-tar |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws FileNotFoundException |
| | | */ |
| | | |
| | | public void uploadFiles(String bucketName, Map<String, File> ossFiles, |
| | | String mime) throws OSSException, ClientException, |
| | | FileNotFoundException { |
| | | // 夿æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | isExistBucket(bucketName); |
| | | |
| | | // å¯ä»¥å¨metadata䏿 è®°æä»¶ç±»å |
| | | if (ossFiles != null && ossFiles.size() > 0) { |
| | | for (Map.Entry<String, File> entry : ossFiles.entrySet()) { |
| | | ObjectMetadata objectMeta = new ObjectMetadata(); |
| | | objectMeta.setContentLength(entry.getValue().length()); |
| | | if (StringUtils.isNotBlank(mime)) { |
| | | objectMeta.setContentType(mime); |
| | | } |
| | | InputStream input = new FileInputStream(entry.getValue()); |
| | | client.putObject(bucketName, entry.getKey(), input, objectMeta); |
| | | // ä¸ä¼ å¾ç |
| | | } |
| | | } |
| | | |
| | | client.shutdown(); |
| | | } |
| | | |
| | | /** |
| | | * ä¸ä¼ æä»¶ |
| | | * |
| | | * @param bucketName äºç«¯åæ¾bucketåç§° |
| | | * @param key å°è¦ä¸ä¼ çæä»¶åç§° |
| | | * @param mime è¶
ææ¬æ è®°è¯è¨ææ¬ .html,.html text/html æ®éææ¬ .txt text/plain RTFææ¬ |
| | | * .rtf application/rtf GIFå¾å½¢ .gif image/gif JPEGå¾å½¢ .ipeg,.jpg |
| | | * image/jpeg au声鳿件 .au audio/basic MIDIé³ä¹æä»¶ mid,.midi |
| | | * audio/midi,audio/x-midi RealAudioé³ä¹æä»¶ .ra, .ram |
| | | * audio/x-pn-realaudio MPEGæä»¶ .mpg,.mpeg video/mpeg AVIæä»¶ .avi |
| | | * video/x-msvideo GZIPæä»¶ .gz application/x-gzip TARæä»¶ .tar |
| | | * application/x-tar |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws FileNotFoundException |
| | | */ |
| | | |
| | | public void uploadFile(String bucketName, String key, File file, String mime) |
| | | throws OSSException, ClientException, FileNotFoundException { |
| | | // 夿æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | isExistBucket(bucketName); |
| | | |
| | | ObjectMetadata objectMeta = new ObjectMetadata(); |
| | | objectMeta.setContentLength(file.length()); |
| | | // å¯ä»¥å¨metadata䏿 è®°æä»¶ç±»å |
| | | if (StringUtils.isNotBlank(mime)) { |
| | | objectMeta.setContentType(mime); |
| | | } |
| | | |
| | | InputStream input = new FileInputStream(file); |
| | | client.putObject(bucketName, key, input, objectMeta); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * ä¸ä¼ æä»¶ |
| | | * |
| | | * @param bucketName äºç«¯åæ¾bucketåç§° |
| | | * @param key å°è¦ä¸ä¼ çæä»¶åç§° |
| | | * @param mime è¶
ææ¬æ è®°è¯è¨ææ¬ .html,.html text/html æ®éææ¬ .txt text/plain RTFææ¬ |
| | | * .rtf application/rtf GIFå¾å½¢ .gif image/gif JPEGå¾å½¢ .ipeg,.jpg |
| | | * image/jpeg au声鳿件 .au audio/basic MIDIé³ä¹æä»¶ mid,.midi |
| | | * audio/midi,audio/x-midi RealAudioé³ä¹æä»¶ .ra, .ram |
| | | * audio/x-pn-realaudio MPEGæä»¶ .mpg,.mpeg video/mpeg AVIæä»¶ .avi |
| | | * video/x-msvideo GZIPæä»¶ .gz application/x-gzip TARæä»¶ .tar |
| | | * application/x-tar |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws IOException |
| | | */ |
| | | |
| | | public boolean uploadObject(MultipartFile file, String bucketName, |
| | | String key, String mime) throws OSSException, ClientException, |
| | | IOException { |
| | | if (file != null) { |
| | | // 夿æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | isExistBucket(bucketName); |
| | | |
| | | ObjectMetadata objectMeta = new ObjectMetadata(); |
| | | objectMeta.setContentLength(file.getSize()); |
| | | // å¯ä»¥å¨metadata䏿 è®°æä»¶ç±»å |
| | | if (StringUtils.isNotBlank(mime)) { |
| | | objectMeta.setContentType(mime); |
| | | } |
| | | PutObjectRequest putObjectRequest = new PutObjectRequest( |
| | | bucketName, key, file.getInputStream()); |
| | | // ä¸ä¼ åè°åæ° |
| | | /* |
| | | * Callback callback = new Callback(); |
| | | * callback.setCallbackUrl("http://www.doumee.com"); |
| | | * callback.setCallbackHost("oss-cn-hangzhou.aliyuncs.com"); |
| | | * callback.setCallbackBody( |
| | | * "{\\\"mimeType\\\":${mimeType},\\\"size\\\":${size}}"); // |
| | | * callback.setCallbackBodyType(CallbackBodyType.JSON); |
| | | * callback.addCallbackVar("x:var1", "value1"); |
| | | * callback.addCallbackVar("x:var2", "value2"); |
| | | * putObjectRequest.setCallback(callback); |
| | | */ |
| | | try { |
| | | PutObjectResult putObjectResult = client |
| | | .putObject(putObjectRequest); |
| | | return true; |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | System.err.println(e.getMessage()); |
| | | } |
| | | /* |
| | | * // 读åä¸ä¼ åè°è¿åçæ¶æ¯å
容 byte[] buffer = new byte[1024]; |
| | | * putObjectResult.getCallbackResponseBody().read(buffer); |
| | | * |
| | | * // ä¸å®è¦closeï¼å¦åä¼é æè¿æ¥èµæºæ³æ¼ |
| | | * putObjectResult.getCallbackResponseBody().close(); |
| | | */ |
| | | |
| | | file.getInputStream().close(); |
| | | client.shutdown(); |
| | | |
| | | } |
| | | |
| | | return false; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * ååä¸ä¼ æä»¶ |
| | | * |
| | | * @param bucketName |
| | | * @param key |
| | | * @param filename |
| | | * @param mime |
| | | * @throws IOException |
| | | */ |
| | | public String partUploadObject(String bucketName, String key, |
| | | String filename, String mime) throws IOException { |
| | | // å¼å§Multipart Upload |
| | | InitiateMultipartUploadRequest initiateMultipartUploadRequest = new InitiateMultipartUploadRequest( |
| | | bucketName, key); |
| | | InitiateMultipartUploadResult initiateMultipartUploadResult = client |
| | | .initiateMultipartUpload(initiateMultipartUploadRequest); |
| | | |
| | | // 设置æ¯å为 5M |
| | | final int partSize = 1024 * 1024 * 5; |
| | | |
| | | File partFile = new File(filename); |
| | | |
| | | // 计ç®ååæ°ç® |
| | | int partCount = (int) (partFile.length() / partSize); |
| | | if (partFile.length() % partSize != 0) { |
| | | partCount++; |
| | | } |
| | | |
| | | // æ°å»ºä¸ä¸ªListä¿åæ¯ä¸ªååä¸ä¼ åçETagåPartNumber |
| | | List<PartETag> partETags = new ArrayList<PartETag>(); |
| | | |
| | | for (int i = 0; i < partCount; i++) { |
| | | // è·åæä»¶æµ |
| | | FileInputStream fis = new FileInputStream(partFile); |
| | | |
| | | // è·³å°æ¯ä¸ªååçå¼å¤´ |
| | | long skipBytes = partSize * i; |
| | | fis.skip(skipBytes); |
| | | |
| | | // è®¡ç®æ¯ä¸ªååçå¤§å° |
| | | long size = partSize < partFile.length() - skipBytes ? partSize |
| | | : partFile.length() - skipBytes; |
| | | |
| | | // å建UploadPartRequestï¼ä¸ä¼ åå |
| | | UploadPartRequest uploadPartRequest = new UploadPartRequest(); |
| | | uploadPartRequest.setBucketName(bucketName); |
| | | uploadPartRequest.setKey(key); |
| | | uploadPartRequest.setUploadId(initiateMultipartUploadResult |
| | | .getUploadId()); |
| | | uploadPartRequest.setInputStream(fis); |
| | | uploadPartRequest.setPartSize(size); |
| | | uploadPartRequest.setPartNumber(i + 1); |
| | | UploadPartResult uploadPartResult = client |
| | | .uploadPart(uploadPartRequest); |
| | | |
| | | // å°è¿åçPartETagä¿åå°Listä¸ã |
| | | partETags.add(uploadPartResult.getPartETag()); |
| | | |
| | | // å
³éæä»¶ |
| | | fis.close(); |
| | | } |
| | | |
| | | CompleteMultipartUploadRequest completeMultipartUploadRequest = new CompleteMultipartUploadRequest( |
| | | bucketName, key, initiateMultipartUploadResult.getUploadId(), |
| | | partETags); |
| | | |
| | | // 宿ååä¸ä¼ |
| | | CompleteMultipartUploadResult completeMultipartUploadResult = client |
| | | .completeMultipartUpload(completeMultipartUploadRequest); |
| | | |
| | | // æ ¡éªMD5 |
| | | if (StringUtils.equals(FileDigest.getFileMD5(new File(filename)), |
| | | completeMultipartUploadResult.getETag())) { |
| | | // 妿ä¸è´ |
| | | return "ä¸ä¼ æå"; |
| | | } |
| | | return "ä¸ä¼ 失败"; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 夿æ¯å¦åå¨bucketï¼å¦æä¸åå¨å建 |
| | | */ |
| | | @SuppressWarnings("deprecation") |
| | | public void isExistBucket(String bucketName) { |
| | | // è·åBucketçåå¨ä¿¡æ¯ |
| | | boolean exists = client.doesBucketExist(bucketName); |
| | | // è¾åºç»æ |
| | | if (!exists) { |
| | | // ä¸åå¨åå»ºå® |
| | | client.createBucket(bucketName); |
| | | // ä¿®æ¹æé |
| | | client.setBucketAcl(bucketName, CannedAccessControlList.PublicRead); |
| | | } |
| | | |
| | | // å举bucket |
| | | // List<Bucket> buckets = client.listBuckets(); |
| | | // for (Bucket bucket : buckets) { |
| | | // System.out.println(" - " + bucket.getName()); |
| | | // } |
| | | } |
| | | |
| | | /** |
| | | * å é¤bucket |
| | | * |
| | | * @param bucketName |
| | | * @return |
| | | */ |
| | | @SuppressWarnings("deprecation") |
| | | public boolean deleteBucket(String bucketName) { |
| | | // å¤æææ²¡æ |
| | | if (client.doesBucketExist(bucketName)) { |
| | | // 夿bucketæ¯å¦ä¸ºç©º |
| | | ObjectListing listObjects = client.listObjects(bucketName); |
| | | // éåææObject |
| | | for (OSSObjectSummary objectSummary : listObjects |
| | | .getObjectSummaries()) { |
| | | // å é¤object |
| | | client.deleteObject(bucketName, objectSummary.getKey()); |
| | | } |
| | | // å é¤Bucket |
| | | client.deleteBucket(bucketName); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * éå½ååºç®å½ä¸æææä»¶ |
| | | * |
| | | * @param bucketName |
| | | * @return |
| | | */ |
| | | public long getAllBuckets(String bucketName, String prefix) { |
| | | long totalSize = 0; |
| | | // æé ListObjectsRequestè¯·æ± |
| | | |
| | | ListObjectsRequest listObjectsRequest = new ListObjectsRequest( |
| | | bucketName); |
| | | listObjectsRequest.setPrefix(prefix); |
| | | listObjectsRequest.withMaxKeys(1000); |
| | | // éå½ååºfunç®å½ä¸çæææä»¶ |
| | | ObjectListing listing = null; |
| | | String nextMarker = null; |
| | | do { |
| | | listObjectsRequest.withMarker(nextMarker); |
| | | listing = client.listObjects(listObjectsRequest); |
| | | |
| | | for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) { |
| | | totalSize += objectSummary.getSize(); |
| | | System.out.println(objectSummary.getKey() + ":" |
| | | + objectSummary.getSize()); |
| | | } |
| | | nextMarker = listing.getNextMarker(); |
| | | } while (listing.isTruncated()); |
| | | // éåææObject |
| | | System.out.println("Objects:"); |
| | | |
| | | return totalSize; |
| | | } |
| | | |
| | | /** |
| | | * ä¸è½½æä»¶ |
| | | * |
| | | * @param bucketName äºç«¯åæ¾bucketåç§° |
| | | * @param key äºç«¯å·²å卿件 |
| | | * @param filename æ¬å°å¾
åå
¥æä»¶ |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws IOException |
| | | */ |
| | | public String downloadFile(String bucketName, String key, String filename) |
| | | throws OSSException, ClientException, IOException { |
| | | |
| | | // é¦å
æ£æ¥æ¯å¦åå¨ç®å½ |
| | | if (StringUtils.isBlank(filename)) { |
| | | // å¾
åå
¥æä»¶ä¸ºç©º |
| | | return "ERROR_FILENAME_IS_NULL"; |
| | | } |
| | | |
| | | File file = new File(filename); |
| | | if (!file.exists()) { |
| | | file.createNewFile(); |
| | | } |
| | | |
| | | client.getObject(new GetObjectRequest(bucketName, key), file); |
| | | return filename; |
| | | } |
| | | |
| | | public static void main(String[] args) throws OSSException, |
| | | ClientException, IOException { |
| | | ALiYunUtil aLiYunUtil = new ALiYunUtil("", "uc4nnpsqep1i9fijqr37nokh", |
| | | "/rp41xCx/XdGEVCptdH6v7xpc9w="); |
| | | // aLiYunUtil.uploadObject("pongto", "work/li2.txt", "D://å.txt", |
| | | // ".html,.html text/html");D://è£
æºè½¯ä»¶/åå
¬å¦ä¹ |
| | | // aLiYunUtil.partUploadObject("pongto", "work/ps.exe", |
| | | // "D://è£
æºè½¯ä»¶/åå
¬å¦ä¹ /Adobe_Illustrator_CS6_XiaZaiBa.exe", |
| | | // ".html,.html text/html"); |
| | | // aLiYunUtil.deleteBucket("pongto"); |
| | | } |
| | | |
| | | /** |
| | | * ä¸ä¼ ç½ç»æä»¶ |
| | | * |
| | | * @param bucketName äºç«¯åæ¾bucketåç§° |
| | | * @param key éæ°å½åçæä»¶å |
| | | * å°è¦ä¸ä¼ çæä»¶åç§° |
| | | * @param mime è¶
ææ¬æ è®°è¯è¨ææ¬ .html,.html text/html æ®éææ¬ .txt text/plain RTFææ¬ |
| | | * .rtf application/rtf GIFå¾å½¢ .gif image/gif JPEGå¾å½¢ .ipeg,.jpg |
| | | * image/jpeg au声鳿件 .au audio/basic MIDIé³ä¹æä»¶ mid,.midi |
| | | * audio/midi,audio/x-midi RealAudioé³ä¹æä»¶ .ra, .ram |
| | | * audio/x-pn-realaudio MPEGæä»¶ .mpg,.mpeg video/mpeg AVIæä»¶ .avi |
| | | * video/x-msvideo GZIPæä»¶ .gz application/x-gzip TARæä»¶ .tar |
| | | * application/x-tar |
| | | * @throws OSSException |
| | | * @throws ClientException |
| | | * @throws IOException |
| | | */ |
| | | |
| | | public boolean uploadOnlineObject(String url, String bucketName, String key, |
| | | String mime) throws OSSException, ClientException, IOException { |
| | | InputStream inputStream = new URL(url).openStream(); |
| | | if (inputStream != null) { |
| | | // 夿æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | isExistBucket(bucketName); |
| | | |
| | | ObjectMetadata objectMeta = new ObjectMetadata(); |
| | | objectMeta.setContentLength(inputStream.available()); |
| | | // å¯ä»¥å¨metadata䏿 è®°æä»¶ç±»å |
| | | if (StringUtils.isNotBlank(mime)) { |
| | | objectMeta.setContentType(mime); |
| | | } |
| | | PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, |
| | | inputStream); |
| | | // ä¸ä¼ åè°åæ° |
| | | /* Callback callback = new Callback(); |
| | | callback.setCallbackUrl("http://www.doumee.com"); |
| | | callback.setCallbackHost("oss-cn-hangzhou.aliyuncs.com"); |
| | | callback.setCallbackBody("{\\\"mimeType\\\":${mimeType},\\\"size\\\":${size}}"); |
| | | // callback.setCallbackBodyType(CallbackBodyType.JSON); |
| | | callback.addCallbackVar("x:var1", "value1"); |
| | | callback.addCallbackVar("x:var2", "value2"); |
| | | putObjectRequest.setCallback(callback);*/ |
| | | try { |
| | | PutObjectResult putObjectResult = client.putObject(putObjectRequest); |
| | | return true; |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | } |
| | | /*// 读åä¸ä¼ åè°è¿åçæ¶æ¯å
容 |
| | | byte[] buffer = new byte[1024]; |
| | | putObjectResult.getCallbackResponseBody().read(buffer); |
| | | |
| | | // ä¸å®è¦closeï¼å¦åä¼é æè¿æ¥èµæºæ³æ¼ |
| | | putObjectResult.getCallbackResponseBody().close();*/ |
| | | |
| | | inputStream.close(); |
| | | client.shutdown(); |
| | | |
| | | } |
| | | |
| | | return false; |
| | | |
| | | } |
| | | |
| | | public boolean uploadOnlineObject(InputStream inputStream, String bucketName, String key, |
| | | String mime) throws OSSException, ClientException, IOException { |
| | | if (inputStream != null) { |
| | | // 夿æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | isExistBucket(bucketName); |
| | | |
| | | ObjectMetadata objectMeta = new ObjectMetadata(); |
| | | objectMeta.setContentLength(inputStream.available()); |
| | | // å¯ä»¥å¨metadata䏿 è®°æä»¶ç±»å |
| | | if (StringUtils.isNotBlank(mime)) { |
| | | objectMeta.setContentType(mime); |
| | | } |
| | | PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, |
| | | inputStream); |
| | | // ä¸ä¼ åè°åæ° |
| | | /* Callback callback = new Callback(); |
| | | callback.setCallbackUrl("http://www.doumee.com"); |
| | | callback.setCallbackHost("oss-cn-hangzhou.aliyuncs.com"); |
| | | callback.setCallbackBody("{\\\"mimeType\\\":${mimeType},\\\"size\\\":${size}}"); |
| | | // callback.setCallbackBodyType(CallbackBodyType.JSON); |
| | | callback.addCallbackVar("x:var1", "value1"); |
| | | callback.addCallbackVar("x:var2", "value2"); |
| | | putObjectRequest.setCallback(callback);*/ |
| | | try { |
| | | PutObjectResult putObjectResult = client.putObject(putObjectRequest); |
| | | return true; |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | } |
| | | /*// 读åä¸ä¼ åè°è¿åçæ¶æ¯å
容 |
| | | byte[] buffer = new byte[1024]; |
| | | putObjectResult.getCallbackResponseBody().read(buffer); |
| | | |
| | | // ä¸å®è¦closeï¼å¦åä¼é æè¿æ¥èµæºæ³æ¼ |
| | | putObjectResult.getCallbackResponseBody().close();*/ |
| | | |
| | | inputStream.close(); |
| | | client.shutdown(); |
| | | |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.doumee.dao.business.model.Areas; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/02/15 08:55 |
| | | */ |
| | | public interface AreasMapper extends MPJBaseMapper<Areas> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.doumee.dao.business.model.Banner; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * è½®æå¾Mapper |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface BannerMapper extends MPJBaseMapper<Banner> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.doumee.dao.business.model.DriverInfo; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * 叿ºæ³¨åä¿¡æ¯Mapper |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface DriverInfoMapper extends MPJBaseMapper<DriverInfo> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.doumee.dao.business.model.PricingRule; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * 计价è§åé
ç½®Mapper |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface PricingRuleMapper extends MPJBaseMapper<PricingRule> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.doumee.dao.business.model.ShopInfo; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * é¨åºä¿¡æ¯Mapper |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface ShopInfoMapper extends MPJBaseMapper<ShopInfo> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.doumee.dao.business.model.Smsrecord; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * çä¿¡éªè¯ç Mapper |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface SmsrecordMapper extends MPJBaseMapper<Smsrecord> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * çå¸åºä¿¡æ¯è¡¨ |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/02/15 08:55 |
| | | */ |
| | | @Data |
| | | @ApiModel("çå¸åºä¿¡æ¯è¡¨") |
| | | @TableName("`areas`") |
| | | public class Areas implements Cloneable,Comparable<Object>{ |
| | | |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelColumn(name="主é®") |
| | | @TableId(value = "id",type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æ´æ°æ¶é´") |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "åç§°") |
| | | @ExcelColumn(name="åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | | private String info; |
| | | |
| | | @ApiModelProperty(value = "è¡æ¿åºä»£ç ") |
| | | @ExcelColumn(name="è¡æ¿åºä»£ç ") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "ç¶çº§ç¼ç ï¼å
³èareas表ï¼", example = "1") |
| | | @ExcelColumn(name="ç¶çº§ç¼ç ï¼å
³èareas表ï¼") |
| | | private Integer parentId; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0ç 1å¸ 2åºå¿", example = "1") |
| | | @ExcelColumn(name="ç±»å 0ç 1å¸ 2åºå¿") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å¼å¯ä½¿ç¨ï¼0=å¦ï¼1=æ¯ï¼", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å¼å¯ä½¿ç¨ï¼0=å¦ï¼1=æ¯ï¼") |
| | | private Integer status; |
| | | |
| | | @TableField(exist = false) |
| | | private List<Areas> childList; |
| | | @TableField(exist = false) |
| | | private Integer provinceId; |
| | | @TableField(exist = false) |
| | | private String provinceName; |
| | | @TableField(exist = false) |
| | | private Integer cityId; |
| | | @TableField(exist = false) |
| | | private String cityName; |
| | | @TableField(exist = false) |
| | | private String fullspell;//å
¨æ¼é³; |
| | | @TableField(exist = false) |
| | | private String firstSpell;//é¦åæ¯; |
| | | //å®ç°Cloneableçcloneæ¹æ³ï¼å°cloneå®ä¹ä¸ºpublic |
| | | public Areas clone() { |
| | | try { |
| | | return (Areas) super.clone(); |
| | | } catch (CloneNotSupportedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | @Override |
| | | public String toString() { |
| | | return "Areas{" + |
| | | "id=" + id + |
| | | ", creator=" + creator + |
| | | ", createDate=" + createDate + |
| | | ", editor=" + editor + |
| | | ", editDate=" + editDate + |
| | | ", isdeleted=" + isdeleted + |
| | | ", name='" + name + '\'' + |
| | | ", info='" + info + '\'' + |
| | | ", code='" + code + '\'' + |
| | | ", parentId=" + parentId + |
| | | ", type=" + type + |
| | | '}'; |
| | | } |
| | | |
| | | @Override |
| | | public int compareTo(Object o) { |
| | | if (this == o) { |
| | | return 0; |
| | | } else if (o != null && o instanceof Areas) { |
| | | Areas u = (Areas) o; |
| | | if (fullspell.compareTo(u.fullspell) < 0) { |
| | | return -1; |
| | | } else { |
| | | return 1; |
| | | } |
| | | } else { |
| | | return -1; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * è½®æå¾ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("è½®æå¾") |
| | | @TableName("`banner`") |
| | | public class Banner { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "0") |
| | | private Integer deleted; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name = "å建æ¶é´", index = 1, width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "æ´»å¨ä¸»é®") |
| | | private Integer title; |
| | | |
| | | @ApiModelProperty(value = "æåºå·") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0æ£å¸¸ 1åç¨", example = "0") |
| | | @ExcelColumn(name = "ç¶æ", index = 2, width = 10, valueMapping = "0=æ£å¸¸;1=åç¨;") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "å表å¾") |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "跳转类å 0å¯ææ¬ 1å¤é¾", example = "0") |
| | | @ExcelColumn(name = "跳转类å", index = 3, width = 10, valueMapping = "0=坿æ¬;1=å¤é¾;") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "ä½ç½® 0é¦é¡µ 1åºéºé¦é¡µ", example = "0") |
| | | @ExcelColumn(name = "ä½ç½®", index = 4, width = 10, valueMapping = "0=é¦é¡µ;1=åºéºé¦é¡µ;") |
| | | private Integer position; |
| | | |
| | | @ApiModelProperty(value = "åºéºä¸»é®") |
| | | private Integer shopId; |
| | | |
| | | @ApiModelProperty(value = "å
容") |
| | | private String content; |
| | | } |
| | |
| | | @ExcelColumn(name="åä½åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "ç±»å:0=åç§é
ç½®ï¼1=车è¾ç±»åé
ç½®ï¼2=餿 é
ç½®ï¼3=æç»è´¹é
ç½®ï¼", example = "1") |
| | | @ExcelColumn(name="ç±»å:0=åç§é
ç½®ï¼1=车è¾ç±»åé
ç½®ï¼2=餿 é
ç½®ï¼3=æç»è´¹é
ç½®ï¼") |
| | | @ApiModelProperty(value = "ç±»å:1=车è¾ç±»å;2=ç©ååç±»;3=ç©åç级;4=ç©å尺寸;", example = "1") |
| | | @ExcelColumn(name="ç±»å:1=车è¾ç±»å;2=ç©ååç±»;3=ç©åç级;4=ç©å尺寸;") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "å
容ï¼è½¦è¾è§æ ¼ã餿 ãæç»è´¹æ¯ä¾ï¼") |
| | | @ExcelColumn(name="å
容ï¼è½¦è¾è§æ ¼ã餿 ãæç»è´¹æ¯ä¾ï¼") |
| | | @ApiModelProperty(value = "å
容 ï¼type=1ï¼éè¡æ¹å¼; type=2ï¼å¸æºè¯çº§ï¼;") |
| | | @ExcelColumn(name="å
容") |
| | | private String detail; |
| | | |
| | | @ApiModelProperty(value = "徿 ï¼è½¦è¾ç±»å使ç¨ï¼") |
| | | @ExcelColumn(name="徿 ï¼è½¦è¾ç±»å使ç¨ï¼") |
| | | private String icon; |
| | | |
| | | @ApiModelProperty(value = "æåºç ï¼ååºï¼") |
| | | @ExcelColumn(name="æåºç ï¼ååºï¼") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦åºå®è½¦è¾ï¼è½¦è¾ç±»å使ç¨ï¼:0=å¦ï¼1=æ¯ï¼", example = "1") |
| | | @ExcelColumn(name="æ¯å¦åºå®è½¦è¾ï¼è½¦è¾ç±»å使ç¨ï¼:0=å¦ï¼1=æ¯ï¼") |
| | | private Integer isFixed; |
| | | @ApiModelProperty(value = "éå±å段1 (type=1:æ¯å¦éè¦ä¸ä¼ 驾驶è¯ï¼0=ä¸éè¦ï¼1=éè¦ï¼) ") |
| | | @ExcelColumn(name="å
容") |
| | | private String otherField; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦åºå®è½¦è¾", example = "1") |
| | | @ExcelColumn(name="æ¯å¦åºå®è½¦è¾") |
| | | private Integer isFixed; // å¼ç¨ |
| | | |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦åºå®è½¦è¾ï¼è½¦è¾ç±»å使ç¨ï¼:0=å¦ï¼1=æ¯ï¼", example = "1") |
| | | @TableField(exist = false) |
| | | private String updateUserName; |
| | | |
| | | @ApiModelProperty(value = "餿 çé
置项éå", example = "1") |
| | | @TableField(exist = false) |
| | | private JSONArray detailList; |
| | | |
| | | @ApiModelProperty(value = "徿 å
¨è·¯å¾") |
| | | @TableField(exist = false) |
| | | private String iconFull; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 叿ºæ³¨åä¿¡æ¯ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("叿ºæ³¨åä¿¡æ¯") |
| | | @TableName("`driver_info`") |
| | | public class DriverInfo { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "0") |
| | | private Integer deleted; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name = "å建æ¶é´", index = 1, width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "å§å") |
| | | @ExcelColumn(name = "å§å", index = 2, width = 10) |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "ææºå·") |
| | | @ExcelColumn(name = "ææºå·", index = 3, width = 12) |
| | | private String telephone; |
| | | |
| | | @ApiModelProperty(value = "身份è¯å·ç ") |
| | | @ExcelColumn(name = "身份è¯å·ç ", index = 4, width = 18) |
| | | private String idcard; |
| | | |
| | | @ApiModelProperty(value = "å©å§»ç¶æï¼0=æªå©ï¼1=å·²å©ï¼2=离å¼ï¼3=丧å¶", example = "0") |
| | | @ExcelColumn(name = "å©å§»ç¶æ", index = 5, width = 10, valueMapping = "0=æªå©;1=å·²å©;2=离å¼;3=丧å¶;") |
| | | private Integer maritalStatus; |
| | | |
| | | @ApiModelProperty(value = "åºå主é®", example = "1") |
| | | private Integer areaId; |
| | | |
| | | @ApiModelProperty(value = "å±
ä½å°å") |
| | | private String livePlace; |
| | | |
| | | @ApiModelProperty(value = "头åå¾ç") |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "车è¾ç±»å", example = "1") |
| | | private Integer carType; |
| | | |
| | | @ApiModelProperty(value = "车çå·") |
| | | @ExcelColumn(name = "车çå·", index = 6, width = 10) |
| | | private String carCode; |
| | | |
| | | @ApiModelProperty(value = "车è¾é¢è²") |
| | | private String carColor; |
| | | |
| | | @ApiModelProperty(value = "é©¾é©¶è¯æææå¼å§æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date cardStartDate; |
| | | |
| | | @ApiModelProperty(value = "é©¾é©¶è¯æææç»ææ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date cardEndDate; |
| | | |
| | | @ApiModelProperty(value = "叿ºç¶æï¼0=注åï¼1=å¾
审æ¹ï¼2=审æ¹éè¿ï¼3=审æ¹é©³å", example = "0") |
| | | @ExcelColumn(name = "ç¶æ", index = 7, width = 10, valueMapping = "0=注å;1=å¾
审æ¹;2=审æ¹éè¿;3=审æ¹é©³å;") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "OPENID(APP)") |
| | | private String openid; |
| | | |
| | | @ApiModelProperty(value = "UNIONID") |
| | | private String unionid; |
| | | |
| | | @ApiModelProperty(value = "å®¡æ¹æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date auditTime; |
| | | |
| | | @ApiModelProperty(value = "审æ¹äºº", example = "1") |
| | | private Integer auditUser; |
| | | |
| | | @ApiModelProperty(value = "审æ¹å¤æ³¨") |
| | | private String auditRemark; |
| | | |
| | | @ApiModelProperty(value = "ä¼å主é®", example = "1") |
| | | private Integer memberId; |
| | | |
| | | @ApiModelProperty(value = "èº«ä»½è¯æ£é¢ç
§") |
| | | private String idcardImg; |
| | | |
| | | @ApiModelProperty(value = "身份è¯åé¢ç
§") |
| | | private String idcardImgBack; |
| | | |
| | | @ApiModelProperty(value = "车è¾ç
§çå表") |
| | | @TableField(exist = false) |
| | | private List<Multifile> carImgList = new ArrayList<>(); |
| | | |
| | | @ApiModelProperty(value = "驾驶è¯ç
§çå表") |
| | | @TableField(exist = false) |
| | | private List<Multifile> licenseImgList = new ArrayList<>(); |
| | | |
| | | @ApiModelProperty(value = "å
¶ä»èµæç
§çå表") |
| | | @TableField(exist = false) |
| | | private List<Multifile> otherImgList = new ArrayList<>(); |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦éè¦ä¸ä¼ 驾驶è¯ï¼0=ä¸éè¦ï¼1=éè¦") |
| | | @TableField(exist = false) |
| | | private Integer needLicense; |
| | | |
| | | @ApiModelProperty(value = "车è¾ç±»ååç§°") |
| | | @TableField(exist = false) |
| | | private String carTypeName; |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | @ExcelColumn(name="çå®å§å",index = 4,width = 10) |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "ç¨å·¥èº«ä»½:0=æªç³è¯·ï¼1=ç³è¯·ä¸ï¼2=å·²éè¿ï¼3=æªéè¿ï¼", example = "1") |
| | | @ApiModelProperty(value = "ç¨å·¥èº«ä»½:0=æªç³è¯·ï¼1=ç³è¯·ä¸ï¼2=å·²éè¿ï¼3=æªéè¿ï¼", example = "1") //å¼ç¨ |
| | | private Integer workerIdentity; |
| | | |
| | | @ApiModelProperty(value = "è´§è¿èº«ä»½:0=æªç³è¯·ï¼1=ç³è¯·ä¸ï¼2=å·²éè¿ï¼3=æªéè¿ï¼", example = "1") |
| | | @ApiModelProperty(value = "è´§è¿èº«ä»½:0=æªç³è¯·ï¼1=ç³è¯·ä¸ï¼2=å·²éè¿ï¼3=æªéè¿ï¼", example = "1") //å¼ç¨ |
| | | private Integer driverIdentity; |
| | | |
| | | @ApiModelProperty(value = "ä¾é¤èº«ä»½:0=æªç³è¯·ï¼1=ç³è¯·ä¸ï¼2=å·²éè¿ï¼3=æªéè¿ï¼", example = "1") |
| | | @ApiModelProperty(value = "ä¾é¤èº«ä»½:0=æªç³è¯·ï¼1=ç³è¯·ä¸ï¼2=å·²éè¿ï¼3=æªéè¿ï¼", example = "1") //å¼ç¨ |
| | | private Integer chefIdentity; |
| | | |
| | | @ApiModelProperty(value = "å½åä½é¢(åä½:å)", example = "1") |
| | |
| | | @ApiModelProperty(value = "å岿»éé¢(åä½:å)", example = "1") |
| | | private Long totalAmount; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ", example = "1") |
| | | @ApiModelProperty(value = "ç¶æ 0=æ£å¸¸ï¼1=åç¨ï¼2=已注é", example = "1") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåç»å½æ¶é´") |
| | |
| | | @ApiModelProperty(value = "å½å使ç¨èº«ä»½:0=ç¨å·¥å叿¹;1=ç¨å·¥æ¥åæ¹;", example = "1") |
| | | private Integer useIdentity; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·ç±»åï¼0=ä¼åç¨æ·ï¼1=叿ºï¼2=åºéºäººåï¼(叿ºä¸åºéºååä¼å表使ç¨å主é®å¼)", example = "1") |
| | | private Integer userType; |
| | | |
| | | @ApiModelProperty(value = "ä¸å¡ç¶æï¼0=æªè®¤è¯ï¼1=认è¯éè¿ï¼2=è®¤è¯æªéè¿ ï¼3=å·²æ¯ä»æ¼é", example = "1") |
| | | private Integer businessStatus; |
| | | |
| | | @ApiModelProperty(value = "ç»å½å¯ç ", example = "1") |
| | | private String password; |
| | | |
| | | @ApiModelProperty(value = "å¯ç ç", example = "1") |
| | | private String salt; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æç - æ°æ®ä¿¡æ¯", example = "1") |
| | | @TableField(exist = false) |
| | | private UserCenterVO userCenterVO; |
| | |
| | | @ApiModelProperty(value = "ç±»å0å¾ç 1è§é¢ 2å
¶ä»", example = "1") |
| | | private Integer type; |
| | | |
| | | // @ApiModelProperty(value = "å
³è对象类å 0SHE䏿¥ 1è·ç»æ»ä¸æ¥ 2è·ç»æ»å¤ç 3è·ç»æ»åé
ç©ä¸ä¸»ç®¡ 4è·ç»æ»åé
å¤ç人 5DCAé£é©ä¸æ¥ 6DCAé£é©å¤ç 7DCAå·¥åå¾ç", example = "1") |
| | | // @ExcelExportColumn(name="å
³è对象类å 0SHE䏿¥ 1è·ç»æ»ä¸æ¥ 2è·ç»æ»å¤ç 3è·ç»æ»åé
ç©ä¸ä¸»ç®¡ 4è·ç»æ»åé
å¤ç人 5DCAé£é©ä¸æ¥ 6DCAé£é©å¤ç 7DCAå·¥åå¾ç") |
| | | @ApiModelProperty(value = "å
³è对象类å 0身份ç³è¯·èµæ 1订åéä»¶", example = "1") |
| | | @ApiModelProperty(value = "å
³è对象类åï¼0=é¨åºå
¶ä»ææï¼1=é¨åºå
é¨ç
§çï¼2=订åå¯åå¾çï¼3=订ååä»¶å¾çï¼4=叿ºåä»¶å¾çï¼5=叿ºå®æå¾çï¼6=叿ºå®å认è¯è½¦è¾ç
§çï¼7=叿ºå®å认è¯é©¾é©¶è¯ç
§çï¼8=叿ºå®å认è¯å
¶ä»å¾çï¼" + |
| | | "9=é¨åºé¨å¤´ç
§ï¼10=社ä¿ç¼´çº³è¯æï¼11=ææå³å¨ååï¼", example = "1") |
| | | private Integer objType; |
| | | |
| | | @ApiModelProperty(value = "æä»¶å°å") |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 计价è§åé
ç½® |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("计价è§åé
ç½®") |
| | | @TableName("`pricing_rule`") |
| | | public class PricingRule { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "0") |
| | | private Integer deleted; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name = "å建æ¶é´", index = 1, width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®ï¼area_idï¼", example = "1") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "ç±»åï¼0=å°±å°ååè§åï¼1=å¼å°ååè§åï¼2=é¢è®¡å¤±æï¼3=é¨åºæ³¨åæ¼éï¼4=åææ¯ä¾", example = "0") |
| | | @ExcelColumn(name = "ç±»å", index = 2, width = 10, valueMapping = "0=å°±å°ååè§å;1=å¼å°ååè§å;2=é¢è®¡å¤±æ;3=é¨åºæ³¨åæ¼é;4=åææ¯ä¾;") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "åæ°1ï¼type ï¼0/1ï¼= å
³è ç©å尺寸ï¼category type =4ï¼;type ï¼2ï¼= é
ééç¨ ï¼ type (3) = ä¼ä¸ç±»åï¼0=ä¼ä¸ï¼1=个人ï¼ï¼type (4) = ç±»åï¼0-4 ä¼ä¸å¯/个人å¯/ä¼ä¸å/个人å/é
éåï¼") |
| | | private String fieldA; |
| | | |
| | | @ApiModelProperty(value = "åæ°2ï¼type ï¼0ï¼= æ¶è´¹åä»· ;type ï¼1ï¼= é
éèµ·æ¥éç¨å
¬éæ° ï¼type ï¼2ï¼= é
éæ¶é¿ ï¼ type (3) = æ¼éï¼type (4) = åææ¯ä¾") |
| | | private String fieldB; |
| | | |
| | | @ApiModelProperty(value = "åæ°3ï¼type ï¼1ï¼= é
éèµ·æ¥éç¨æ¯å
¬éåä»· ï¼") |
| | | private String fieldC; |
| | | |
| | | @ApiModelProperty(value = "åæ°4ï¼type=1 è¶
åºé¦åéç¨å
¬éæ°") |
| | | private String fieldD; |
| | | |
| | | @ApiModelProperty(value = "åæ°5ï¼type=1 è¶
åºé¦åéç¨æ¯å
¬é åä»·") |
| | | private String fieldE; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * é¨åºä¿¡æ¯ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("é¨åºä¿¡æ¯") |
| | | @TableName("`shop_info`") |
| | | public class ShopInfo { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "0") |
| | | private Integer deleted; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name = "å建æ¶é´", index = 1, width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸ç±»åï¼0=个人ï¼1=ä¼ä¸", example = "0") |
| | | @ExcelColumn(name = "ä¼ä¸ç±»å", index = 2, width = 10, valueMapping = "0=个人;1=ä¼ä¸;") |
| | | private Integer companyType; |
| | | |
| | | @ApiModelProperty(value = "åç§°/åºéºåç§°") |
| | | @ExcelColumn(name = "åºéºåç§°", index = 3, width = 15) |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "æ³¨åææºå·") |
| | | @ExcelColumn(name = "æ³¨åææºå·", index = 4, width = 12) |
| | | private String telephone; |
| | | |
| | | @ApiModelProperty(value = "ç»å½å¯ç ") |
| | | private String password; |
| | | |
| | | @ApiModelProperty(value = "å¯ç ç") |
| | | private String salt; |
| | | |
| | | @ApiModelProperty(value = "è系人åç§°") |
| | | @ExcelColumn(name = "è系人", index = 5, width = 10) |
| | | private String linkName; |
| | | |
| | | @ApiModelProperty(value = "è系人çµè¯") |
| | | @ExcelColumn(name = "èç³»çµè¯", index = 6, width = 12) |
| | | private String linkPhone; |
| | | |
| | | @ApiModelProperty(value = "è系人身份è¯å·ç ") |
| | | private String idcard; |
| | | |
| | | @ApiModelProperty(value = "åºå主é®", example = "1") |
| | | private Integer areaId; |
| | | |
| | | @ApiModelProperty(value = "å®ä½ç»åº¦", example = "116.404") |
| | | private Double longitude; |
| | | |
| | | @ApiModelProperty(value = "å®ä½çº¬åº¦", example = "39.915") |
| | | private Double latitude; |
| | | |
| | | @ApiModelProperty(value = "详ç»å°å") |
| | | private String address; |
| | | |
| | | @ApiModelProperty(value = "æ³äººå§åï¼ä¼ä¸ç±»å使ç¨ï¼") |
| | | private String legalPersonName; |
| | | |
| | | @ApiModelProperty(value = "æ³äººçµè¯ï¼ä¼ä¸ç±»å使ç¨ï¼") |
| | | private String legalPersonPhone; |
| | | |
| | | @ApiModelProperty(value = "æ³äººèº«ä»½è¯å·ç ï¼ä¼ä¸ç±»å使ç¨ï¼") |
| | | private String legalPersonCard; |
| | | |
| | | @ApiModelProperty(value = "èº«ä»½è¯æ£é¢ç
§") |
| | | private String idcardImg; |
| | | |
| | | @ApiModelProperty(value = "身份è¯åé¢ç
§") |
| | | private String idcardImgBack; |
| | | |
| | | @ApiModelProperty(value = "è¥ä¸æ§ç
§") |
| | | private String businessImg; |
| | | |
| | | @ApiModelProperty(value = "ç¶æï¼0=å¾
审æ¹ï¼1=审æ¹éè¿ï¼2=å®¡æ¹æªéè¿", example = "0") |
| | | @ExcelColumn(name = "ç¶æ", index = 7, width = 10, valueMapping = "0=å¾
审æ¹;1=审æ¹éè¿;2=å®¡æ¹æªéè¿;") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "å®¡æ¹æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date auditTime; |
| | | |
| | | @ApiModelProperty(value = "审æ¹äºº", example = "1") |
| | | private Integer auditUserId; |
| | | |
| | | @ApiModelProperty(value = "审æ¹å¤æ³¨") |
| | | private String auditRemark; |
| | | |
| | | @ApiModelProperty(value = "OPENID") |
| | | private String openid; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * çä¿¡éªè¯ç |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("çä¿¡éªè¯ç ") |
| | | @TableName("`smsrecord`") |
| | | public class Smsrecord { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "0") |
| | | private Integer deleted; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name = "å建æ¶é´", index = 1, width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ææºå·") |
| | | @ExcelColumn(name = "ææºå·", index = 2, width = 12) |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "çä¿¡å
容") |
| | | @ExcelColumn(name = "çä¿¡å
容", index = 3, width = 20) |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "çä¿¡ç±»åï¼0=éªè¯ç ", example = "0") |
| | | @ExcelColumn(name = "çä¿¡ç±»å", index = 4, width = 10, valueMapping = "0=éªè¯ç ;") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "æææ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date validDate; |
| | | |
| | | @ApiModelProperty(value = "å
³é®åï¼éªè¯ç çï¼") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0æªä½¿ç¨ 1å·²ä½¿ç¨ 2å·²è¿æ", example = "0") |
| | | @ExcelColumn(name = "ç¶æ", index = 5, width = 10, valueMapping = "0=æªä½¿ç¨;1=已使ç¨;2=å·²è¿æ;") |
| | | private Integer status; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @author Eva.Caesar Liu |
| | | * @date 2023/02/14 11:14 |
| | | */ |
| | | @Data |
| | | @ApiModel("çå¸åºæ¥è¯¢åæ°") |
| | | public class AreasDto implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "åç§°" ) |
| | | private String name; |
| | | @ApiModelProperty(value = "ç±»å 0ç 1å¸ 2åºå¿", example = "1") |
| | | private Integer type; |
| | | @ApiModelProperty(value = "æ¯å¦å
å«åèç¹ 0ä¸å
å« 1å
å«", example = "1") |
| | | private int flag; |
| | | @ApiModelProperty(value = "ç¶èç¹ç¼ç ", example = "1") |
| | | private Integer parentId; |
| | | } |
| | |
| | | @ApiModelProperty(value = "å®¡æ¹æè¿°") |
| | | private String auditRemark; |
| | | |
| | | @ApiModelProperty(value = "审æ¹äººç¼ç ï¼æå¡ç«¯å¡«å
ï¼", hidden = true) |
| | | private Integer auditUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 叿ºç»å½è¯·æ±ç±» |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("叿ºç»å½è¯·æ±ç±»") |
| | | public class DriverLoginRequest implements Serializable { |
| | | |
| | | @NotEmpty(message = "ææºå·ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "ææºå·", required = true) |
| | | private String telephone; |
| | | |
| | | @NotEmpty(message = "å¯ç ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "ç»å½å¯ç ", required = true) |
| | | private String password; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 叿ºéªè¯ç ç»å½è¯·æ±ç±» |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("叿ºéªè¯ç ç»å½è¯·æ±ç±»") |
| | | public class DriverRegisterRequest implements Serializable { |
| | | |
| | | @NotEmpty(message = "ææºå·ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "ææºå·", required = true) |
| | | private String telephone; |
| | | |
| | | @NotEmpty(message = "éªè¯ç ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "éªè¯ç ", required = true) |
| | | private String code; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 叿ºå®å认è¯è¯·æ±ç±» |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("叿ºå®å认è¯è¯·æ±ç±»") |
| | | public class DriverVerifyRequest implements Serializable { |
| | | |
| | | @NotEmpty(message = "å§åä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "å§å", required = true) |
| | | private String name; |
| | | |
| | | @NotEmpty(message = "身份è¯å·ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "身份è¯å·ç ", required = true) |
| | | private String idcard; |
| | | |
| | | @NotNull(message = "å©å§»ç¶æä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "å©å§»ç¶æï¼0=æªå©ï¼1=å·²å©ï¼2=离å¼ï¼3=丧å¶", required = true, example = "0") |
| | | private Integer maritalStatus; |
| | | |
| | | @ApiModelProperty(value = "åºå主é®", example = "1") |
| | | private Integer areaId; |
| | | |
| | | @NotEmpty(message = "å±
ä½å°åä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "å±
ä½å°å", required = true) |
| | | private String livePlace; |
| | | |
| | | @NotEmpty(message = "车çå·ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "车çå·", required = true) |
| | | private String carCode; |
| | | |
| | | @NotNull(message = "车è¾ç±»åä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "车è¾ç±»åï¼å
³ècategory type=1ï¼", required = true, example = "1") |
| | | private Integer carType; |
| | | |
| | | @ApiModelProperty(value = "车è¾é¢è²") |
| | | private String carColor; |
| | | |
| | | @ApiModelProperty(value = "é©¾é©¶è¯æææå¼å§æ¶é´") |
| | | private Date cardStartDate; |
| | | |
| | | @ApiModelProperty(value = "é©¾é©¶è¯æææç»ææ¶é´") |
| | | private Date cardEndDate; |
| | | |
| | | @NotEmpty(message = "èº«ä»½è¯æ£é¢ç
§ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "èº«ä»½è¯æ£é¢ç
§", required = true) |
| | | private String idcardImg; |
| | | |
| | | @NotEmpty(message = "身份è¯åé¢ç
§ä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "身份è¯åé¢ç
§", required = true) |
| | | private String idcardImgBack; |
| | | |
| | | @ApiModelProperty(value = "车è¾ç
§çï¼æå¤3å¼ ï¼mutifile objType=6ï¼") |
| | | private List<String> carImgUrls; |
| | | |
| | | @ApiModelProperty(value = "驾驶è¯ç
§çï¼æå¤3å¼ ï¼mutifile objType=7ï¼") |
| | | private List<String> licenseImgUrls; |
| | | |
| | | @ApiModelProperty(value = "å
¶ä»èµæç
§çï¼æå¤3å¼ ï¼mutifile objType=8ï¼") |
| | | private List<String> otherImgUrls; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * é¢è®¡æ¶æé
ç½®ä¿åè¯·æ± |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("é¢è®¡æ¶æé
ç½®ä¿å请æ±") |
| | | public class EstimatedDeliverySaveDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "è§å主é®(ä¿®æ¹æ¶å¿
ä¼ )") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®", required = true, example = "1") |
| | | @NotNull(message = "åå¸ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "é
ééç¨(å
Ž)", required = true, example = "10") |
| | | @NotNull(message = "é
ééç¨ä¸è½ä¸ºç©º") |
| | | private String distance; |
| | | |
| | | @ApiModelProperty(value = "é
éæ¶é¿(å°æ¶)", required = true, example = "2") |
| | | @NotNull(message = "é
éæ¶é¿ä¸è½ä¸ºç©º") |
| | | private String duration; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * å°±å°ååè§å项 |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("å°±å°ååè§å项") |
| | | public class LocalStoragePricingItemDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "ç©åè§æ ¼ä¸»é®(category.id, type=4)", required = true, example = "1") |
| | | @NotNull(message = "ç©åè§æ ¼ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer categoryId; |
| | | |
| | | @ApiModelProperty(value = "æ¶è´¹åä»·", required = true, example = "10.50") |
| | | @NotNull(message = "æ¶è´¹åä»·ä¸è½ä¸ºç©º") |
| | | private String unitPrice; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å°±å°ååè§åæ¹éä¿åè¯·æ± |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("å°±å°ååè§åæ¹éä¿å请æ±") |
| | | public class LocalStoragePricingSaveDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®", required = true, example = "1") |
| | | @NotNull(message = "åå¸ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "è§åæç»å表", required = true) |
| | | @NotEmpty(message = "è§åæç»ä¸è½ä¸ºç©º") |
| | | @Valid |
| | | private List<LocalStoragePricingItemDTO> items; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * å¼å°å¯éè§å项 |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("å¼å°å¯éè§å项") |
| | | public class RemoteDeliveryPricingItemDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "ç©åè§æ ¼ä¸»é®(category.id, type=4)", required = true, example = "1") |
| | | @NotNull(message = "ç©åè§æ ¼ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer categoryId; |
| | | |
| | | @ApiModelProperty(value = "é
éèµ·æ¥éç¨å
¬éæ°", required = true, example = "5") |
| | | @NotNull(message = "é
éèµ·æ¥éç¨ä¸è½ä¸ºç©º") |
| | | private String startDistance; |
| | | |
| | | @ApiModelProperty(value = "é
éèµ·æ¥éç¨æ¯å
¬éåä»·", required = true, example = "3.00") |
| | | @NotNull(message = "é
éèµ·æ¥éç¨æ¯å
¬éåä»·ä¸è½ä¸ºç©º") |
| | | private String startPrice; |
| | | |
| | | @ApiModelProperty(value = "è¶
åºé¦åéç¨å
¬éæ°", required = true, example = "10") |
| | | @NotNull(message = "è¶
åºé¦åéç¨ä¸è½ä¸ºç©º") |
| | | private String extraDistance; |
| | | |
| | | @ApiModelProperty(value = "è¶
åºé¦åéç¨æ¯å
¬éåä»·", required = true, example = "2.00") |
| | | @NotNull(message = "è¶
åºé¦åéç¨æ¯å
¬éåä»·ä¸è½ä¸ºç©º") |
| | | private String extraPrice; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å¼å°å¯éè§åæ¹éä¿åè¯·æ± |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("å¼å°å¯éè§åæ¹éä¿å请æ±") |
| | | public class RemoteDeliveryPricingSaveDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®", required = true, example = "1") |
| | | @NotNull(message = "åå¸ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "è§åæç»å表", required = true) |
| | | @NotEmpty(message = "è§åæç»ä¸è½ä¸ºç©º") |
| | | @Valid |
| | | private List<RemoteDeliveryPricingItemDTO> items; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * åææ¯ä¾è§å项 |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("åææ¯ä¾è§å项") |
| | | public class RevenueShareItemDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "ç±»å(0=ä¼ä¸å¯, 1=个人å¯, 2=ä¼ä¸å, 3=个人å, 4=é
éå)", required = true, example = "0") |
| | | @NotNull(message = "ç±»åä¸è½ä¸ºç©º") |
| | | private Integer fieldType; |
| | | |
| | | @ApiModelProperty(value = "åææ¯ä¾", required = true, example = "0.15") |
| | | @NotNull(message = "åææ¯ä¾ä¸è½ä¸ºç©º") |
| | | private String ratio; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åææ¯ä¾æ¹éä¿åè¯·æ± |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("åææ¯ä¾æ¹éä¿å请æ±") |
| | | public class RevenueShareSaveDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®", required = true, example = "1") |
| | | @NotNull(message = "åå¸ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "è§åæç»å表(ä¼ä¸å¯/个人å¯/ä¼ä¸å/个人å/é
éåå
±5æ¡)", required = true) |
| | | @NotEmpty(message = "è§åæç»ä¸è½ä¸ºç©º") |
| | | @Valid |
| | | private List<RevenueShareItemDTO> items; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * é¨åºæ³¨åæ¼éè§å项 |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("é¨åºæ³¨åæ¼éè§å项") |
| | | public class StoreDepositItemDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸ç±»å(0=ä¼ä¸, 1=个人)", required = true, example = "0") |
| | | @NotNull(message = "ä¼ä¸ç±»åä¸è½ä¸ºç©º") |
| | | private Integer fieldType; |
| | | |
| | | @ApiModelProperty(value = "æ¼ééé¢", required = true, example = "5000.00") |
| | | @NotNull(message = "æ¼ééé¢ä¸è½ä¸ºç©º") |
| | | private String depositAmount; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¨åºæ³¨åæ¼éæ¹éä¿åè¯·æ± |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("é¨åºæ³¨åæ¼éæ¹éä¿å请æ±") |
| | | public class StoreDepositSaveDTO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®", required = true, example = "1") |
| | | @NotNull(message = "åå¸ä¸»é®ä¸è½ä¸ºç©º") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "è§åæç»å表(ä¼ä¸+个人å
±2æ¡)", required = true) |
| | | @NotEmpty(message = "è§åæç»ä¸è½ä¸ºç©º") |
| | | @Valid |
| | | private List<StoreDepositItemDTO> items; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * é¢è®¡æ¶æé
ç½®å表è¿å |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("é¢è®¡æ¶æé
ç½®(å表è¿å)") |
| | | public class EstimatedDeliveryVO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "è§å主é®") |
| | | private Integer pricingRuleId; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "é
ééç¨(å
Ž)") |
| | | private String distance; |
| | | |
| | | @ApiModelProperty(value = "é
éæ¶é¿(å°æ¶)") |
| | | private String duration; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * å°±å°ååè§åå表è¿å |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("å°±å°ååè§å项(å表è¿å)") |
| | | public class LocalStoragePricingVO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "è§å主é®") |
| | | private Integer pricingRuleId; |
| | | |
| | | @ApiModelProperty(value = "ç©å尺寸主é®") |
| | | private Integer categoryId; |
| | | |
| | | @ApiModelProperty(value = "ç©å尺寸åç§°") |
| | | private String categoryName; |
| | | |
| | | @ApiModelProperty(value = "æ¶è´¹åä»·") |
| | | private String unitPrice; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®") |
| | | private Integer cityId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * å¼å°å¯éè§åå表è¿å |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("å¼å°å¯éè§å项(å表è¿å)") |
| | | public class RemoteDeliveryPricingVO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "è§å主é®") |
| | | private Integer pricingRuleId; |
| | | |
| | | @ApiModelProperty(value = "ç©å尺寸主é®") |
| | | private Integer categoryId; |
| | | |
| | | @ApiModelProperty(value = "ç©å尺寸åç§°") |
| | | private String categoryName; |
| | | |
| | | @ApiModelProperty(value = "é
éèµ·æ¥éç¨å
¬éæ°") |
| | | private String startDistance; |
| | | |
| | | @ApiModelProperty(value = "é
éèµ·æ¥éç¨æ¯å
¬éåä»·") |
| | | private String startPrice; |
| | | |
| | | @ApiModelProperty(value = "è¶
åºé¦åéç¨å
¬éæ°") |
| | | private String extraDistance; |
| | | |
| | | @ApiModelProperty(value = "è¶
åºé¦åéç¨æ¯å
¬éåä»·") |
| | | private String extraPrice; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®") |
| | | private Integer cityId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * åææ¯ä¾å表è¿å |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("åææ¯ä¾(å表è¿å)") |
| | | public class RevenueShareVO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "è§å主é®") |
| | | private Integer pricingRuleId; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "ç±»å(0=ä¼ä¸å¯, 1=个人å¯, 2=ä¼ä¸å, 3=个人å, 4=é
éå)") |
| | | private Integer fieldType; |
| | | |
| | | @ApiModelProperty(value = "ç±»ååç§°") |
| | | private String fieldTypeName; |
| | | |
| | | @ApiModelProperty(value = "åææ¯ä¾") |
| | | private String ratio; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * é¨åºæ³¨åæ¼éå表è¿å |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Data |
| | | @ApiModel("é¨åºæ³¨åæ¼é(å表è¿å)") |
| | | public class StoreDepositVO implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "è§å主é®") |
| | | private Integer pricingRuleId; |
| | | |
| | | @ApiModelProperty(value = "åå¸ä¸»é®") |
| | | private Integer cityId; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸ç±»å(0=ä¼ä¸, 1=个人)") |
| | | private Integer fieldType; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸ç±»ååç§°") |
| | | private String fieldTypeName; |
| | | |
| | | @ApiModelProperty(value = "æ¼ééé¢") |
| | | private String depositAmount; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Areas; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * çå¸åºä¿¡æ¯è¡¨Serviceå®ä¹ |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/02/15 08:55 |
| | | */ |
| | | public interface AreasService { |
| | | |
| | | /** |
| | | * å建 |
| | | * |
| | | * @param areas å®ä½å¯¹è±¡ |
| | | * @return Integer |
| | | */ |
| | | Integer create(Areas areas); |
| | | |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | |
| | | /** |
| | | * å é¤ |
| | | * |
| | | * @param areas å®ä½å¯¹è±¡ |
| | | */ |
| | | void delete(Areas areas); |
| | | |
| | | /** |
| | | * æ¹é主é®å é¤ |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | | * |
| | | * @param areas å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(Areas areas); |
| | | |
| | | /** |
| | | * æ¹é䏻鮿´æ° |
| | | * |
| | | * @param areass å®ä½é |
| | | */ |
| | | void updateByIdInBatch(List<Areas> areass); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * |
| | | * @param id ä¸»é® |
| | | * @return Areas |
| | | */ |
| | | Areas findById(Integer id); |
| | | |
| | | /** |
| | | * æ ¹æ®idåtypeæ¥è¯¢å¯¹è±¡ä¿¡æ¯ |
| | | * @param id |
| | | * @param type null æ¥è¯¢å
¨é¨ 0ç份 1åå¸ 2åºå |
| | | * @return |
| | | */ |
| | | Areas findById(Integer id,Integer type); |
| | | |
| | | |
| | | Areas findByName(String name,Integer type); |
| | | Areas findByNameAndParentId(String name,Integer type,Integer parentId); |
| | | |
| | | List<Areas> findByParentId(Integer parentId ,Integer type,int flag); |
| | | |
| | | List<Areas> findChildByParentId(Integer id,List<Areas> list); |
| | | |
| | | boolean isAreaValid(String proName,String cityName,String areaName); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | | * |
| | | * @param areas å®ä½å¯¹è±¡ |
| | | * @return Areas |
| | | */ |
| | | Areas findOne(Areas areas); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | | * |
| | | * @param areas å®ä½å¯¹è±¡ |
| | | * @return List<Areas> |
| | | */ |
| | | List<Areas> findList(Areas areas); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<Areas> |
| | | */ |
| | | PageData<Areas> findPage(PageWrap<Areas> pageWrap); |
| | | |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param areas å®ä½å¯¹è±¡ |
| | | * @return long |
| | | */ |
| | | long count(Areas areas); |
| | | |
| | | void cacheData(); |
| | | |
| | | Areas findByCityAndArea(String cityName, String areasName); |
| | | |
| | | String getAddress(Integer cityId,Integer areaId); |
| | | |
| | | String getAddress(Integer areaId); |
| | | |
| | | List<Areas> listByParentId(Areas model); |
| | | |
| | | |
| | | /** |
| | | * è·ååå¸ä¿¡æ¯ |
| | | * @param areas |
| | | * @return |
| | | */ |
| | | |
| | | List<Areas> getCityList(Areas areas); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Banner; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * è½®æå¾Serviceå®ä¹ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface BannerService { |
| | | |
| | | Integer create(Banner banner); |
| | | |
| | | void deleteById(Integer id); |
| | | |
| | | void delete(Banner banner); |
| | | |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | |
| | | void updateById(Banner banner); |
| | | |
| | | void updateByIdInBatch(List<Banner> banners); |
| | | |
| | | Banner findById(Integer id); |
| | | |
| | | Banner findOne(Banner banner); |
| | | |
| | | List<Banner> findList(Banner banner); |
| | | |
| | | PageData<Banner> findPage(PageWrap<Banner> pageWrap); |
| | | |
| | | long count(Banner banner); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.DriverInfo; |
| | | import com.doumee.dao.dto.DriverLoginRequest; |
| | | import com.doumee.dao.dto.DriverRegisterRequest; |
| | | import com.doumee.dao.dto.DriverVerifyRequest; |
| | | import com.doumee.dao.vo.AccountResponse; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 叿ºæ³¨åä¿¡æ¯Serviceå®ä¹ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface DriverInfoService { |
| | | |
| | | /** |
| | | * å建 |
| | | * |
| | | * @param driverInfo å®ä½å¯¹è±¡ |
| | | * @return Integer |
| | | */ |
| | | Integer create(DriverInfo driverInfo); |
| | | |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | |
| | | /** |
| | | * å é¤ |
| | | * |
| | | * @param driverInfo å®ä½å¯¹è±¡ |
| | | */ |
| | | void delete(DriverInfo driverInfo); |
| | | |
| | | /** |
| | | * æ¹é主é®å é¤ |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | | * |
| | | * @param driverInfo å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(DriverInfo driverInfo); |
| | | |
| | | /** |
| | | * æ¹é䏻鮿´æ° |
| | | * |
| | | * @param driverInfos å®ä½é |
| | | */ |
| | | void updateByIdInBatch(List<DriverInfo> driverInfos); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * |
| | | * @param id ä¸»é® |
| | | * @return DriverInfo |
| | | */ |
| | | DriverInfo findById(Integer id); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | | * |
| | | * @param driverInfo å®ä½å¯¹è±¡ |
| | | * @return DriverInfo |
| | | */ |
| | | DriverInfo findOne(DriverInfo driverInfo); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | | * |
| | | * @param driverInfo å®ä½å¯¹è±¡ |
| | | * @return List<DriverInfo> |
| | | */ |
| | | List<DriverInfo> findList(DriverInfo driverInfo); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<DriverInfo> |
| | | */ |
| | | PageData<DriverInfo> findPage(PageWrap<DriverInfo> pageWrap); |
| | | |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param driverInfo å®ä½å¯¹è±¡ |
| | | * @return long |
| | | */ |
| | | long count(DriverInfo driverInfo); |
| | | |
| | | /** |
| | | * 叿ºéªè¯ç ç»å½ï¼ææºå·+çä¿¡éªè¯ç ï¼æ è´¦å·èªå¨æ³¨åï¼ |
| | | * |
| | | * @param request éªè¯ç ç»å½è¯·æ± |
| | | * @return AccountResponse |
| | | */ |
| | | AccountResponse register(DriverRegisterRequest request); |
| | | |
| | | /** |
| | | * åé叿ºéªè¯ç ç»å½éªè¯ç |
| | | * |
| | | * @param telephone ææºå· |
| | | */ |
| | | void sendRegisterCode(String telephone); |
| | | |
| | | /** |
| | | * 叿ºææºå·+å¯ç ç»å½ |
| | | * |
| | | * @param request ç»å½è¯·æ± |
| | | * @return AccountResponse |
| | | */ |
| | | AccountResponse login(DriverLoginRequest request); |
| | | |
| | | /** |
| | | * æäº¤å®å认è¯ï¼å次æäº¤æé©³ååä¿®æ¹ï¼ |
| | | * |
| | | * @param memberId ä¼åä¸»é® |
| | | * @param request 认è¯è¯·æ± |
| | | */ |
| | | void submitVerify(Integer memberId, DriverVerifyRequest request); |
| | | |
| | | /** |
| | | * æ¥è¯¢å¸æºå®å认è¯è¯¦æ
|
| | | * |
| | | * @param memberId ä¼åä¸»é® |
| | | * @return DriverInfo |
| | | */ |
| | | DriverInfo getVerifyDetail(Integer memberId); |
| | | |
| | | /** |
| | | * 审æ¹å¸æºå®å认è¯ï¼ç®¡çç«¯ï¼ |
| | | * |
| | | * @param auditDTO 审æ¹åæ° |
| | | */ |
| | | void auditVerify(com.doumee.dao.dto.AuditDTO auditDTO); |
| | | |
| | | } |
| | |
| | | */ |
| | | void editMemberInfo(Member member); |
| | | |
| | | /** |
| | | * 忢ç¨å·¥èº«ä»½ |
| | | * @param member |
| | | */ |
| | | void editUseIdentity(Member member); |
| | | // /** |
| | | // * 忢ç¨å·¥èº«ä»½ |
| | | // * @param member |
| | | // */ |
| | | // void editUseIdentity(Member member); |
| | | |
| | | /** |
| | | * ä¸ªäººä¿¡æ¯ |
| | |
| | | |
| | | UserCenterVO getPlatformAboutUs(); |
| | | |
| | | void logOut(String token,Integer memberId); |
| | | |
| | | void logOff(String token,Integer memberId); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.PricingRule; |
| | | import com.doumee.dao.dto.LocalStoragePricingSaveDTO; |
| | | import com.doumee.dao.dto.RemoteDeliveryPricingSaveDTO; |
| | | import com.doumee.dao.dto.EstimatedDeliverySaveDTO; |
| | | import com.doumee.dao.dto.StoreDepositSaveDTO; |
| | | import com.doumee.dao.dto.RevenueShareSaveDTO; |
| | | import com.doumee.dao.vo.LocalStoragePricingVO; |
| | | import com.doumee.dao.vo.RemoteDeliveryPricingVO; |
| | | import com.doumee.dao.vo.EstimatedDeliveryVO; |
| | | import com.doumee.dao.vo.StoreDepositVO; |
| | | import com.doumee.dao.vo.RevenueShareVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 计价è§åé
ç½®Serviceå®ä¹ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface PricingRuleService { |
| | | |
| | | /** |
| | | * å建 |
| | | * |
| | | * @param pricingRule å®ä½å¯¹è±¡ |
| | | * @return Integer |
| | | */ |
| | | Integer create(PricingRule pricingRule); |
| | | |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | |
| | | /** |
| | | * å é¤ |
| | | * |
| | | * @param pricingRule å®ä½å¯¹è±¡ |
| | | */ |
| | | void delete(PricingRule pricingRule); |
| | | |
| | | /** |
| | | * æ¹é主é®å é¤ |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | | * |
| | | * @param pricingRule å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(PricingRule pricingRule); |
| | | |
| | | /** |
| | | * æ¹é䏻鮿´æ° |
| | | * |
| | | * @param pricingRules å®ä½é |
| | | */ |
| | | void updateByIdInBatch(List<PricingRule> pricingRules); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * |
| | | * @param id ä¸»é® |
| | | * @return PricingRule |
| | | */ |
| | | PricingRule findById(Integer id); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | | * |
| | | * @param pricingRule å®ä½å¯¹è±¡ |
| | | * @return PricingRule |
| | | */ |
| | | PricingRule findOne(PricingRule pricingRule); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | | * |
| | | * @param pricingRule å®ä½å¯¹è±¡ |
| | | * @return List<PricingRule> |
| | | */ |
| | | List<PricingRule> findList(PricingRule pricingRule); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<PricingRule> |
| | | */ |
| | | PageData<PricingRule> findPage(PageWrap<PricingRule> pageWrap); |
| | | |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param pricingRule å®ä½å¯¹è±¡ |
| | | * @return long |
| | | */ |
| | | long count(PricingRule pricingRule); |
| | | |
| | | /** |
| | | * æ¹éä¿åå°±å°ååè§å |
| | | * @param request æ¹éä¿åè¯·æ± |
| | | */ |
| | | void batchSaveLocalStoragePricing(LocalStoragePricingSaveDTO request); |
| | | |
| | | /** |
| | | * æ¥è¯¢å°±å°ååè§åå表 |
| | | * @param cityId åå¸ä¸»é® |
| | | * @return å°±å°ååè§åå表 |
| | | */ |
| | | List<LocalStoragePricingVO> listLocalStoragePricing(Integer cityId); |
| | | |
| | | /** |
| | | * æ¹éä¿åå¼å°å¯éè§å |
| | | * @param request æ¹éä¿åè¯·æ± |
| | | */ |
| | | void batchSaveRemoteDeliveryPricing(RemoteDeliveryPricingSaveDTO request); |
| | | |
| | | /** |
| | | * æ¥è¯¢å¼å°å¯éè§åå表 |
| | | * @param cityId åå¸ä¸»é® |
| | | * @return å¼å°å¯éè§åå表 |
| | | */ |
| | | List<RemoteDeliveryPricingVO> listRemoteDeliveryPricing(Integer cityId); |
| | | |
| | | /** |
| | | * æ°å¢é¢è®¡æ¶æé
ç½® |
| | | * @param request ä¿åè¯·æ± |
| | | * @return è§åä¸»é® |
| | | */ |
| | | Integer createEstimatedDelivery(EstimatedDeliverySaveDTO request); |
| | | |
| | | /** |
| | | * ä¿®æ¹é¢è®¡æ¶æé
ç½® |
| | | * @param request ä¿åè¯·æ± |
| | | */ |
| | | void updateEstimatedDelivery(EstimatedDeliverySaveDTO request); |
| | | |
| | | /** |
| | | * å é¤é¢è®¡æ¶æé
ç½® |
| | | * @param id è§åä¸»é® |
| | | */ |
| | | void deleteEstimatedDelivery(Integer id); |
| | | |
| | | /** |
| | | * æ¥è¯¢é¢è®¡æ¶æé
ç½®å表 |
| | | * @param cityId åå¸ä¸»é® |
| | | * @return é¢è®¡æ¶æé
ç½®å表 |
| | | */ |
| | | List<EstimatedDeliveryVO> listEstimatedDelivery(Integer cityId); |
| | | |
| | | /** |
| | | * æ¹éä¿åé¨åºæ³¨åæ¼é |
| | | * @param request æ¹éä¿åè¯·æ± |
| | | */ |
| | | void batchSaveStoreDeposit(StoreDepositSaveDTO request); |
| | | |
| | | /** |
| | | * æ¥è¯¢é¨åºæ³¨åæ¼éå表(åºå®è¿å2æ¡) |
| | | * @param cityId åå¸ä¸»é® |
| | | * @return é¨åºæ³¨åæ¼éå表 |
| | | */ |
| | | List<StoreDepositVO> listStoreDeposit(Integer cityId); |
| | | |
| | | /** |
| | | * æ¹éä¿ååææ¯ä¾ |
| | | * @param request æ¹éä¿åè¯·æ± |
| | | */ |
| | | void batchSaveRevenueShare(RevenueShareSaveDTO request); |
| | | |
| | | /** |
| | | * æ¥è¯¢åææ¯ä¾å表(åºå®è¿å5æ¡) |
| | | * @param cityId åå¸ä¸»é® |
| | | * @return åææ¯ä¾å表 |
| | | */ |
| | | List<RevenueShareVO> listRevenueShare(Integer cityId); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.ShopInfo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¨åºä¿¡æ¯Serviceå®ä¹ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface ShopInfoService { |
| | | |
| | | /** |
| | | * å建 |
| | | * |
| | | * @param shopInfo å®ä½å¯¹è±¡ |
| | | * @return Integer |
| | | */ |
| | | Integer create(ShopInfo shopInfo); |
| | | |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | |
| | | /** |
| | | * å é¤ |
| | | * |
| | | * @param shopInfo å®ä½å¯¹è±¡ |
| | | */ |
| | | void delete(ShopInfo shopInfo); |
| | | |
| | | /** |
| | | * æ¹é主é®å é¤ |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | | * |
| | | * @param shopInfo å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(ShopInfo shopInfo); |
| | | |
| | | /** |
| | | * æ¹é䏻鮿´æ° |
| | | * |
| | | * @param shopInfos å®ä½é |
| | | */ |
| | | void updateByIdInBatch(List<ShopInfo> shopInfos); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * |
| | | * @param id ä¸»é® |
| | | * @return ShopInfo |
| | | */ |
| | | ShopInfo findById(Integer id); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | | * |
| | | * @param shopInfo å®ä½å¯¹è±¡ |
| | | * @return ShopInfo |
| | | */ |
| | | ShopInfo findOne(ShopInfo shopInfo); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | | * |
| | | * @param shopInfo å®ä½å¯¹è±¡ |
| | | * @return List<ShopInfo> |
| | | */ |
| | | List<ShopInfo> findList(ShopInfo shopInfo); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<ShopInfo> |
| | | */ |
| | | PageData<ShopInfo> findPage(PageWrap<ShopInfo> pageWrap); |
| | | |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param shopInfo å®ä½å¯¹è±¡ |
| | | * @return long |
| | | */ |
| | | long count(ShopInfo shopInfo); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Smsrecord; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * çä¿¡éªè¯ç Serviceå®ä¹ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | public interface SmsrecordService { |
| | | |
| | | /** |
| | | * å建 |
| | | * |
| | | * @param smsrecord å®ä½å¯¹è±¡ |
| | | * @return Integer |
| | | */ |
| | | Integer create(Smsrecord smsrecord); |
| | | |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | |
| | | /** |
| | | * å é¤ |
| | | * |
| | | * @param smsrecord å®ä½å¯¹è±¡ |
| | | */ |
| | | void delete(Smsrecord smsrecord); |
| | | |
| | | /** |
| | | * æ¹é主é®å é¤ |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | | * |
| | | * @param smsrecord å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(Smsrecord smsrecord); |
| | | |
| | | /** |
| | | * æ¹é䏻鮿´æ° |
| | | * |
| | | * @param smsrecords å®ä½é |
| | | */ |
| | | void updateByIdInBatch(List<Smsrecord> smsrecords); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * |
| | | * @param id ä¸»é® |
| | | * @return Smsrecord |
| | | */ |
| | | Smsrecord findById(Integer id); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | | * |
| | | * @param smsrecord å®ä½å¯¹è±¡ |
| | | * @return Smsrecord |
| | | */ |
| | | Smsrecord findOne(Smsrecord smsrecord); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | | * |
| | | * @param smsrecord å®ä½å¯¹è±¡ |
| | | * @return List<Smsrecord> |
| | | */ |
| | | List<Smsrecord> findList(Smsrecord smsrecord); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<Smsrecord> |
| | | */ |
| | | PageData<Smsrecord> findPage(PageWrap<Smsrecord> pageWrap); |
| | | |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param smsrecord å®ä½å¯¹è±¡ |
| | | * @return long |
| | | */ |
| | | long count(Smsrecord smsrecord); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.PinYinUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.AreasMapper; |
| | | import com.doumee.dao.business.model.Areas; |
| | | import com.doumee.service.business.AreasService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * çå¸åºä¿¡æ¯è¡¨Serviceå®ç° |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/02/15 08:55 |
| | | */ |
| | | @Service |
| | | public class AreasServiceImpl implements AreasService { |
| | | public static List<Areas> ALL_AREA_LIST; |
| | | public static List<Areas> PROVINCE_LIST; |
| | | public static List<Areas> CITY_LIST; |
| | | public static List<Areas> AREA_LIST; |
| | | public static List<Areas> ALL_AREA_TREE; |
| | | |
| | | @Autowired |
| | | private AreasMapper areasMapper; |
| | | |
| | | @Autowired |
| | | RestTemplate restTemplate ; |
| | | |
| | | |
| | | @Override |
| | | public Integer create(Areas areas) { |
| | | /* |
| | | |
| | | if (Objects.isNull(areas.getParentId())){ |
| | | areas.setType(Constants.ZERO); |
| | | }else { |
| | | Areas parentArea = areasMapper.selectById(areas.getParentId()); |
| | | if (Objects.isNull(parentArea)){ |
| | | areas.setType(Constants.ZERO); |
| | | }else { |
| | | areas.setType(parentArea.getType()+Constants.ONE); |
| | | } |
| | | }*/ |
| | | areas.setIsdeleted(Constants.ZERO); |
| | | areasMapper.insert(areas); |
| | | areas.setCode(areas.getId().toString()); |
| | | areasMapper.updateById(areas); |
| | | //å·æ°ç¼åæ°æ® |
| | | cacheData(); |
| | | return areas.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | areasMapper.deleteById(id); |
| | | //å·æ°ç¼åæ°æ® |
| | | cacheData(); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Areas areas) { |
| | | UpdateWrapper<Areas> deleteWrapper = new UpdateWrapper<>(areas); |
| | | areasMapper.delete(deleteWrapper); |
| | | //å·æ°ç¼åæ°æ® |
| | | cacheData(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | areasMapper.deleteBatchIds(ids); |
| | | //å·æ°ç¼åæ°æ® |
| | | cacheData(); |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(Areas areas) { |
| | | |
| | | UpdateWrapper<Areas> wrapper = new UpdateWrapper<>(); |
| | | wrapper.lambda().eq(Areas::getId,areas.getId()); |
| | | Areas update = new Areas(); |
| | | update.setName(areas.getName()); |
| | | update.setSortnum(areas.getSortnum()); |
| | | areasMapper.update(update,wrapper); |
| | | //å·æ°ç¼åæ°æ® |
| | | cacheData(); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<Areas> areass) { |
| | | if (CollectionUtils.isEmpty(areass)) { |
| | | return; |
| | | } |
| | | for (Areas areas: areass) { |
| | | this.updateById(areas); |
| | | } |
| | | //å·æ°ç¼åæ°æ® |
| | | cacheData(); |
| | | } |
| | | |
| | | @Override |
| | | public Areas findById(Integer id) { |
| | | if(ALL_AREA_LIST!=null){ |
| | | for(Areas a : ALL_AREA_LIST){ |
| | | if(Constants.equalsInteger(a.getId(),id)){ |
| | | return a; |
| | | } |
| | | } |
| | | } |
| | | // return areasMapper.selectById(id); |
| | | return null; |
| | | } |
| | | @Override |
| | | public Areas findById(Integer id,Integer type) { |
| | | List<Areas> list = null; |
| | | if(type == null){ |
| | | list = ALL_AREA_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | list = PROVINCE_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | list = CITY_LIST; |
| | | } else if (Constants.equalsInteger(type,Constants.TWO)){ |
| | | list = AREA_LIST; |
| | | } |
| | | if(list!=null){ |
| | | for(Areas a : list){ |
| | | if(Constants.equalsInteger(a.getId(),id)){ |
| | | return a; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Areas findByName(String name,Integer type){ |
| | | List<Areas> list = null; |
| | | if(type == null){ |
| | | list = ALL_AREA_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | list = PROVINCE_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | list = CITY_LIST; |
| | | } else if (Constants.equalsInteger(type,Constants.TWO)){ |
| | | list = AREA_LIST; |
| | | } |
| | | if(list!=null){ |
| | | for(Areas a : list){ |
| | | if(StringUtils.equals(name,a.getName())){ |
| | | return a; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | @Override |
| | | public Areas findByNameAndParentId(String name,Integer type,Integer parentId){ |
| | | List<Areas> list = null; |
| | | if(type == null){ |
| | | list = ALL_AREA_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | list = PROVINCE_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | list = CITY_LIST; |
| | | } else if (Constants.equalsInteger(type,Constants.TWO)){ |
| | | list = AREA_LIST; |
| | | } |
| | | if(list!=null){ |
| | | for(Areas a : list){ |
| | | if(StringUtils.equals(name,a.getName()) && Constants.equalsInteger(parentId,a.getParentId())){ |
| | | return a; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param type |
| | | * @param parentId |
| | | * @param flag 0æ åé 1å
å«åéå¿åº |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Areas> findByParentId(Integer parentId,Integer type ,int flag) { |
| | | |
| | | List<Areas> list = null; |
| | | if(type == null){ |
| | | list = ALL_AREA_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | list = PROVINCE_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | list = CITY_LIST; |
| | | } else if (Constants.equalsInteger(type,Constants.TWO)){ |
| | | list = AREA_LIST; |
| | | } |
| | | if(list!=null && Objects.nonNull(parentId)){ |
| | | list = list.stream().filter(s->Constants.equalsInteger(s.getParentId(),parentId)) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | if(flag == 0){ |
| | | List<Areas> result = new ArrayList<>(); |
| | | for(Areas a : list){ |
| | | Areas r = new Areas(); |
| | | BeanUtils.copyProperties(a,r); |
| | | r.setChildList(null); |
| | | result.add(r); |
| | | } |
| | | return result; |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<Areas> findChildByParentId(Integer id,List<Areas> list){ |
| | | List<Areas> result =null; |
| | | if(list == null){ |
| | | list = ALL_AREA_LIST; |
| | | } |
| | | if(list!=null && list.size()>0){ |
| | | for(Areas model :list){ |
| | | if(Constants.equalsInteger(id,model.getParentId())){ |
| | | if(result == null){ |
| | | result = new ArrayList<>(); |
| | | } |
| | | result.add(model ); |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public boolean isAreaValid(String proName,String cityName,String areaName){ |
| | | Areas pro = findByName(proName,Constants.ZERO); |
| | | if(pro == null){ |
| | | return false; |
| | | } |
| | | Areas city = findByName(proName,Constants.ONE); |
| | | if(city == null && !Constants.equalsInteger(city.getParentId(),pro.getId())){ |
| | | return false; |
| | | } |
| | | Areas area = findByName(proName,Constants.TWO); |
| | | if(area == null && !Constants.equalsInteger(area.getParentId(),city.getId())){ |
| | | return false; |
| | | } |
| | | return false; |
| | | } |
| | | @Override |
| | | public Areas findOne(Areas areas) { |
| | | QueryWrapper<Areas> wrapper = new QueryWrapper<>(areas); |
| | | return areasMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<Areas> findList(Areas areas) { |
| | | List<Areas> list = null; |
| | | Integer type =areas.getType(); |
| | | if(type == null){ |
| | | list = ALL_AREA_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | list = PROVINCE_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | list = CITY_LIST; |
| | | } else if (Constants.equalsInteger(type,Constants.TWO)){ |
| | | list = AREA_LIST; |
| | | } |
| | | List<Areas> result = null; |
| | | if(StringUtils.isNotBlank(areas.getName())){ |
| | | for(Areas a : list){ |
| | | if(StringUtils.contains(a.getName(),areas.getName())){ |
| | | if(result == null){ |
| | | result = new ArrayList<>(); |
| | | } |
| | | result.add(a); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<Areas> listByParentId(Areas areas) { |
| | | List<Areas> list = null; |
| | | Integer type =areas.getType(); |
| | | if(type == null){ |
| | | list = ALL_AREA_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | list = PROVINCE_LIST; |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | list = CITY_LIST; |
| | | } else if (Constants.equalsInteger(type,Constants.TWO)){ |
| | | list = AREA_LIST; |
| | | } |
| | | List<Areas> result = null; |
| | | if( areas.getParentId() !=null){ |
| | | for(Areas a : list){ |
| | | if(Constants.equalsInteger(a.getParentId(),areas.getParentId())){ |
| | | if(result == null){ |
| | | result = new ArrayList<>(); |
| | | } |
| | | result.add(a); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | return list; |
| | | } |
| | | @Override |
| | | public void cacheData() { |
| | | Areas a = new Areas(); |
| | | a.setIsdeleted(Constants.ZERO); |
| | | ALL_AREA_LIST = null; |
| | | PROVINCE_LIST =null; |
| | | CITY_LIST=null; |
| | | AREA_LIST = null; |
| | | ALL_AREA_TREE = null; |
| | | ALL_AREA_LIST = areasMapper.selectJoinList(Areas.class,new MPJLambdaWrapper<Areas>() |
| | | .selectAll(Areas.class) |
| | | .eq(Areas::getIsdeleted,Constants.ZERO) |
| | | .orderByDesc(Areas::getSortnum)); |
| | | if(ALL_AREA_LIST!=null){ |
| | | for(Areas model : ALL_AREA_LIST){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ |
| | | if(PROVINCE_LIST == null){ |
| | | PROVINCE_LIST = new ArrayList<>(); |
| | | } |
| | | PROVINCE_LIST.add(model); |
| | | }else if(Constants.equalsInteger(model.getType(),Constants.ONE)){ |
| | | if(CITY_LIST == null){ |
| | | CITY_LIST = new ArrayList<>(); |
| | | } |
| | | CITY_LIST.add(model); |
| | | if(model.getParentId() != null){ |
| | | Areas p = findById(model.getParentId()); |
| | | if(p!=null ){ |
| | | model.setProvinceId(p.getId()); |
| | | model.setProvinceName(p.getName()); |
| | | } |
| | | } |
| | | }else if(Constants.equalsInteger(model.getType(),Constants.TWO)){ |
| | | if(AREA_LIST == null){ |
| | | AREA_LIST = new ArrayList<>(); |
| | | } |
| | | AREA_LIST.add(model); |
| | | Areas city = findById(model.getParentId()); |
| | | if(city!=null ){ |
| | | model.setCityId(city.getId()); |
| | | model.setCityName(city.getName()); |
| | | if(city!=null && city.getParentId()!=null){ |
| | | Areas p = findById(city.getParentId()); |
| | | if(p!=null ){ |
| | | model.setProvinceId(p.getId()); |
| | | model.setProvinceName(p.getName()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(CITY_LIST!=null){ |
| | | for(Areas aa : CITY_LIST){ |
| | | aa.setChildList(findChildByParentId(aa.getId(), AREA_LIST)); |
| | | } |
| | | } |
| | | if(PROVINCE_LIST!=null){ |
| | | for(Areas aa : PROVINCE_LIST){ |
| | | aa.setChildList(findChildByParentId(aa.getId(),CITY_LIST)); |
| | | } |
| | | } |
| | | System.out.println("================="); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<Areas> findPage(PageWrap<Areas> pageWrap) { |
| | | IPage<Areas> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Areas> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(Areas::getId, pageWrap.getModel().getId()); |
| | | } |
| | | |
| | | if (pageWrap.getModel().getCreator() != null) { |
| | | queryWrapper.lambda().eq(Areas::getCreator, pageWrap.getModel().getCreator()); |
| | | } |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(Areas::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.lambda().le(Areas::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | } |
| | | if (pageWrap.getModel().getEditor() != null) { |
| | | queryWrapper.lambda().eq(Areas::getEditor, pageWrap.getModel().getEditor()); |
| | | } |
| | | if (pageWrap.getModel().getEditDate() != null) { |
| | | queryWrapper.lambda().ge(Areas::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.lambda().le(Areas::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | } |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(Areas::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().eq(Areas::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getInfo() != null) { |
| | | queryWrapper.lambda().eq(Areas::getInfo, pageWrap.getModel().getInfo()); |
| | | } |
| | | if (pageWrap.getModel().getCode() != null) { |
| | | queryWrapper.lambda().eq(Areas::getCode, pageWrap.getModel().getCode()); |
| | | } |
| | | if (pageWrap.getModel().getParentId() != null) { |
| | | queryWrapper.lambda().eq(Areas::getParentId, pageWrap.getModel().getParentId()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(Areas::getType, pageWrap.getModel().getType()); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(areasMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(Areas areas) { |
| | | QueryWrapper<Areas> wrapper = new QueryWrapper<>(areas); |
| | | return areasMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public Areas findByCityAndArea(String cityName, String areasName) { |
| | | Areas city = findByName(cityName,Constants.ONE); |
| | | if(city !=null){ |
| | | return findByNameAndParentId(areasName,Constants.TWO,city.getId()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public String getAddress(Integer cityId,Integer areaId){ |
| | | Areas cityAreas = findById(cityId, Constants.ONE); |
| | | Areas areas = findById(areaId, Constants.TWO); |
| | | |
| | | String cityName = Optional.ofNullable(cityAreas) |
| | | .map(s -> s.getProvinceName() + s.getName()) |
| | | .orElseThrow(() -> new BusinessException(ResponseStatus.BAD_REQUEST)); |
| | | String areaName = Optional.ofNullable(areas).map(s -> s.getName()).orElse(""); |
| | | |
| | | return cityName+areaName; |
| | | } |
| | | |
| | | @Override |
| | | public String getAddress(Integer areaId) { |
| | | Areas areas = findById(areaId, Constants.TWO); |
| | | |
| | | String cityName = Optional.ofNullable(areas) |
| | | .map(s -> s.getProvinceName() + s.getCityName()) |
| | | .orElseThrow(() -> new BusinessException(ResponseStatus.BAD_REQUEST)); |
| | | String areaName = Optional.ofNullable(areas).map(s -> s.getName()).orElse(""); |
| | | return cityName+areaName; |
| | | } |
| | | public static Areas getAddressByAreaId(Integer areaId) { |
| | | if(areaId ==null){ |
| | | return null; |
| | | } |
| | | if(AREA_LIST!=null){ |
| | | for(Areas a : AREA_LIST){ |
| | | if(Constants.equalsInteger(a.getId(),areaId)){ |
| | | return a; |
| | | // return StringUtils.defaultString(a.getProvinceName(),"")+StringUtils.defaultString(a.getCityName(),"")+StringUtils.defaultString(a.getName(),"") |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | @Override |
| | | public List<Areas> getCityList(Areas areas) { |
| | | //æ¥è¯¢å
¨é¨å叿°æ® |
| | | List<Areas> dataList = findByParentId(null,Constants.ONE,0); |
| | | |
| | | if (StringUtils.isNotBlank(areas.getCityName())){ |
| | | dataList = dataList.stream().filter(s -> s.getName().contains(areas.getCityName())).collect(Collectors.toList()); |
| | | } |
| | | if(dataList != null){ |
| | | for(Areas c: dataList){ |
| | | c.setFullspell(PinYinUtil.getFullSpell(c.getName())); |
| | | c.setFirstSpell(PinYinUtil.getFirstFirstSpell(c.getName())); |
| | | } |
| | | Collections.sort(dataList); |
| | | } |
| | | return dataList; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.BannerMapper; |
| | | import com.doumee.dao.business.model.Banner; |
| | | import com.doumee.service.business.BannerService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * è½®æå¾Serviceå®ç° |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Service |
| | | public class BannerServiceImpl implements BannerService { |
| | | |
| | | @Autowired |
| | | private BannerMapper bannerMapper; |
| | | |
| | | @Override |
| | | public Integer create(Banner banner) { |
| | | bannerMapper.insert(banner); |
| | | return banner.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | bannerMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Banner banner) { |
| | | UpdateWrapper<Banner> deleteWrapper = new UpdateWrapper<>(banner); |
| | | bannerMapper.delete(deleteWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | bannerMapper.deleteBatchIds(ids); |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(Banner banner) { |
| | | bannerMapper.updateById(banner); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<Banner> banners) { |
| | | if (CollectionUtils.isEmpty(banners)) { |
| | | return; |
| | | } |
| | | for (Banner banner : banners) { |
| | | this.updateById(banner); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Banner findById(Integer id) { |
| | | Banner banner = bannerMapper.selectById(id); |
| | | if (Objects.isNull(banner)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | return banner; |
| | | } |
| | | |
| | | @Override |
| | | public Banner findOne(Banner banner) { |
| | | QueryWrapper<Banner> wrapper = new QueryWrapper<>(banner); |
| | | return bannerMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<Banner> findList(Banner banner) { |
| | | QueryWrapper<Banner> wrapper = new QueryWrapper<>(banner); |
| | | return bannerMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<Banner> findPage(PageWrap<Banner> pageWrap) { |
| | | IPage<Banner> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Banner> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setDeleted(Constants.ZERO); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(Banner::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getDeleted() != null) { |
| | | queryWrapper.lambda().eq(Banner::getDeleted, pageWrap.getModel().getDeleted()); |
| | | } |
| | | if (pageWrap.getModel().getCreateUser() != null) { |
| | | queryWrapper.lambda().eq(Banner::getCreateUser, pageWrap.getModel().getCreateUser()); |
| | | } |
| | | if (pageWrap.getModel().getCreateTime() != null) { |
| | | queryWrapper.lambda().ge(Banner::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())); |
| | | queryWrapper.lambda().le(Banner::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())); |
| | | } |
| | | if (pageWrap.getModel().getUpdateUser() != null) { |
| | | queryWrapper.lambda().eq(Banner::getUpdateUser, pageWrap.getModel().getUpdateUser()); |
| | | } |
| | | if (pageWrap.getModel().getUpdateTime() != null) { |
| | | queryWrapper.lambda().ge(Banner::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())); |
| | | queryWrapper.lambda().le(Banner::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(Banner::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(Banner::getType, pageWrap.getModel().getType()); |
| | | } |
| | | if (pageWrap.getModel().getPosition() != null) { |
| | | queryWrapper.lambda().eq(Banner::getPosition, pageWrap.getModel().getPosition()); |
| | | } |
| | | if (pageWrap.getModel().getShopId() != null) { |
| | | queryWrapper.lambda().eq(Banner::getShopId, pageWrap.getModel().getShopId()); |
| | | } |
| | | for (PageWrap.SortData sortData : pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(bannerMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(Banner banner) { |
| | | QueryWrapper<Banner> wrapper = new QueryWrapper<>(banner); |
| | | return bannerMapper.selectCount(wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.config.jwt.JwtTokenUtil; |
| | | import com.doumee.core.utils.Secure; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.DriverInfoMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.dao.business.MultifileMapper; |
| | | import com.doumee.dao.business.SmsrecordMapper; |
| | | import com.doumee.dao.business.CategoryMapper; |
| | | import com.doumee.dao.business.model.Category; |
| | | import com.doumee.dao.business.model.DriverInfo; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.Multifile; |
| | | import com.doumee.dao.business.model.Smsrecord; |
| | | import com.doumee.dao.vo.AccountResponse; |
| | | import com.doumee.dao.dto.AuditDTO; |
| | | import com.doumee.dao.dto.DriverLoginRequest; |
| | | import com.doumee.dao.dto.DriverRegisterRequest; |
| | | import com.doumee.dao.dto.DriverVerifyRequest; |
| | | import com.doumee.service.business.AliSmsService; |
| | | import com.doumee.service.business.DriverInfoService; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import org.apache.commons.lang3.RandomStringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 叿ºæ³¨åä¿¡æ¯Serviceå®ç° |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Service |
| | | public class DriverInfoServiceImpl implements DriverInfoService { |
| | | |
| | | @Autowired |
| | | private DriverInfoMapper driverInfoMapper; |
| | | |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | |
| | | @Autowired |
| | | private SmsrecordMapper smsrecordMapper; |
| | | |
| | | @Autowired |
| | | private JwtTokenUtil jwtTokenUtil; |
| | | |
| | | @Autowired |
| | | private Secure secure; |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String, Object> redisTemplate; |
| | | |
| | | @Autowired |
| | | private MultifileMapper multifileMapper; |
| | | |
| | | @Autowired |
| | | private CategoryMapper categoryMapper; |
| | | |
| | | @Override |
| | | public Integer create(DriverInfo driverInfo) { |
| | | driverInfoMapper.insert(driverInfo); |
| | | return driverInfo.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | driverInfoMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(DriverInfo driverInfo) { |
| | | UpdateWrapper<DriverInfo> deleteWrapper = new UpdateWrapper<>(driverInfo); |
| | | driverInfoMapper.delete(deleteWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | driverInfoMapper.deleteBatchIds(ids); |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(DriverInfo driverInfo) { |
| | | driverInfoMapper.updateById(driverInfo); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<DriverInfo> driverInfos) { |
| | | if (CollectionUtils.isEmpty(driverInfos)) { |
| | | return; |
| | | } |
| | | for (DriverInfo driverInfo : driverInfos) { |
| | | this.updateById(driverInfo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public DriverInfo findById(Integer id) { |
| | | DriverInfo driverInfo = driverInfoMapper.selectById(id); |
| | | if (Objects.isNull(driverInfo)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | return driverInfo; |
| | | } |
| | | |
| | | @Override |
| | | public DriverInfo findOne(DriverInfo driverInfo) { |
| | | QueryWrapper<DriverInfo> wrapper = new QueryWrapper<>(driverInfo); |
| | | return driverInfoMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<DriverInfo> findList(DriverInfo driverInfo) { |
| | | QueryWrapper<DriverInfo> wrapper = new QueryWrapper<>(driverInfo); |
| | | return driverInfoMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<DriverInfo> findPage(PageWrap<DriverInfo> pageWrap) { |
| | | IPage<DriverInfo> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<DriverInfo> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setDeleted(Constants.ZERO); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getDeleted() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getDeleted, pageWrap.getModel().getDeleted()); |
| | | } |
| | | if (pageWrap.getModel().getCreateUser() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getCreateUser, pageWrap.getModel().getCreateUser()); |
| | | } |
| | | if (pageWrap.getModel().getCreateTime() != null) { |
| | | queryWrapper.lambda().ge(DriverInfo::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())); |
| | | queryWrapper.lambda().le(DriverInfo::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())); |
| | | } |
| | | if (pageWrap.getModel().getUpdateUser() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getUpdateUser, pageWrap.getModel().getUpdateUser()); |
| | | } |
| | | if (pageWrap.getModel().getUpdateTime() != null) { |
| | | queryWrapper.lambda().ge(DriverInfo::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())); |
| | | queryWrapper.lambda().le(DriverInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().like(DriverInfo::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getTelephone() != null) { |
| | | queryWrapper.lambda().like(DriverInfo::getTelephone, pageWrap.getModel().getTelephone()); |
| | | } |
| | | if (pageWrap.getModel().getIdcard() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getIdcard, pageWrap.getModel().getIdcard()); |
| | | } |
| | | if (pageWrap.getModel().getMaritalStatus() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getMaritalStatus, pageWrap.getModel().getMaritalStatus()); |
| | | } |
| | | if (pageWrap.getModel().getCarType() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getCarType, pageWrap.getModel().getCarType()); |
| | | } |
| | | if (pageWrap.getModel().getCarCode() != null) { |
| | | queryWrapper.lambda().like(DriverInfo::getCarCode, pageWrap.getModel().getCarCode()); |
| | | } |
| | | if (pageWrap.getModel().getCardStartDate() != null) { |
| | | queryWrapper.lambda().ge(DriverInfo::getCardStartDate, Utils.Date.getStart(pageWrap.getModel().getCardStartDate())); |
| | | queryWrapper.lambda().le(DriverInfo::getCardStartDate, Utils.Date.getEnd(pageWrap.getModel().getCardStartDate())); |
| | | } |
| | | if (pageWrap.getModel().getCardEndDate() != null) { |
| | | queryWrapper.lambda().ge(DriverInfo::getCardEndDate, Utils.Date.getStart(pageWrap.getModel().getCardEndDate())); |
| | | queryWrapper.lambda().le(DriverInfo::getCardEndDate, Utils.Date.getEnd(pageWrap.getModel().getCardEndDate())); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getAuditTime() != null) { |
| | | queryWrapper.lambda().ge(DriverInfo::getAuditTime, Utils.Date.getStart(pageWrap.getModel().getAuditTime())); |
| | | queryWrapper.lambda().le(DriverInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime())); |
| | | } |
| | | if (pageWrap.getModel().getAuditUser() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getAuditUser, pageWrap.getModel().getAuditUser()); |
| | | } |
| | | if (pageWrap.getModel().getMemberId() != null) { |
| | | queryWrapper.lambda().eq(DriverInfo::getMemberId, pageWrap.getModel().getMemberId()); |
| | | } |
| | | for (PageWrap.SortData sortData : pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(driverInfoMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(DriverInfo driverInfo) { |
| | | QueryWrapper<DriverInfo> wrapper = new QueryWrapper<>(driverInfo); |
| | | return driverInfoMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | /***************叿ºéªè¯ç ç»å½ä¸å¡*************/ |
| | | |
| | | @Override |
| | | public void sendRegisterCode(String telephone) { |
| | | if (StringUtils.isBlank(telephone)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | // çæ6使°åéªè¯ç |
| | | String code = RandomStringUtils.randomNumeric(6); |
| | | // åéçä¿¡ |
| | | String templateParam = "{\"code\":\"" + code + "\"}"; |
| | | AliSmsService.sendSms(telephone, "SMS_491325122", templateParam); |
| | | // ä¿åçä¿¡è®°å½ |
| | | Smsrecord smsrecord = new Smsrecord(); |
| | | smsrecord.setDeleted(Constants.ZERO); |
| | | smsrecord.setCreateTime(new Date()); |
| | | smsrecord.setUpdateTime(new Date()); |
| | | smsrecord.setPhone(telephone); |
| | | smsrecord.setContent("叿ºéªè¯ç ç»å½ï¼" + code); |
| | | smsrecord.setType(Constants.ZERO); |
| | | smsrecord.setCode(code); |
| | | smsrecord.setStatus(Constants.ZERO); |
| | | // æææ15åé |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(new Date()); |
| | | calendar.add(Calendar.MINUTE, 15); |
| | | smsrecord.setValidDate(calendar.getTime()); |
| | | smsrecordMapper.insert(smsrecord); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public AccountResponse register(DriverRegisterRequest request) { |
| | | String telephone = request.getTelephone(); |
| | | String code = request.getCode(); |
| | | if (StringUtils.isAnyBlank(telephone, code)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | // 1. éªè¯çä¿¡éªè¯ç |
| | | QueryWrapper<Smsrecord> smsWrapper = new QueryWrapper<>(); |
| | | smsWrapper.lambda().eq(Smsrecord::getPhone, telephone) |
| | | .eq(Smsrecord::getCode, code) |
| | | .eq(Smsrecord::getType, Constants.ZERO) |
| | | .eq(Smsrecord::getStatus, Constants.ZERO) |
| | | .ge(Smsrecord::getValidDate, new Date()) |
| | | .orderByDesc(Smsrecord::getCreateTime) |
| | | .last("limit 1"); |
| | | Smsrecord smsrecord = smsrecordMapper.selectOne(smsWrapper); |
| | | if (Objects.isNull(smsrecord)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "éªè¯ç é误æå·²è¿æ"); |
| | | } |
| | | // æ è®°éªè¯ç å·²ä½¿ç¨ |
| | | smsrecord.setStatus(Constants.ONE); |
| | | smsrecord.setUpdateTime(new Date()); |
| | | smsrecordMapper.updateById(smsrecord); |
| | | |
| | | // 2. æ¥è¯¢æ¯å¦å·²æå¸æºè´¦å· |
| | | Member existMember = memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getTelephone, telephone) |
| | | .eq(Member::getUserType, Constants.ONE) |
| | | .ne(Member::getStatus, Constants.TWO) |
| | | .last("limit 1")); |
| | | |
| | | Date now = new Date(); |
| | | Member member; |
| | | |
| | | if (Objects.nonNull(existMember)) { |
| | | // å·²æå¸æºè´¦å·ï¼ç´æ¥ç»å½ |
| | | if (!Constants.equalsInteger(existMember.getStatus(), Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "è´¦å·å·²åç¨ï¼è¯·è系管çå"); |
| | | } |
| | | // æ´æ°ç»å½ä¿¡æ¯ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getLoginTime, now) |
| | | .setSql("login_times = login_times + 1") |
| | | .eq(Member::getId, existMember.getId())); |
| | | // æ´æ°å
åä¸çç»å½ä¿¡æ¯ |
| | | existMember.setLoginTime(now); |
| | | existMember.setLoginTimes(existMember.getLoginTimes() + 1); |
| | | member = existMember; |
| | | } else { |
| | | // 没æå¸æºè´¦å·ï¼æ³¨åæ°ç¨æ·ï¼é»è®¤å¯ç ä¸ºææºå·åå
ä½ |
| | | String salt = RandomStringUtils.randomAlphanumeric(6); |
| | | String defaultPassword = telephone.substring(telephone.length() - 6); |
| | | member = new Member(); |
| | | member.setDeleted(Constants.ZERO); |
| | | member.setCreateTime(now); |
| | | member.setUpdateTime(now); |
| | | member.setTelephone(telephone); |
| | | member.setNickName(telephone); |
| | | member.setName(telephone); |
| | | member.setUserType(Constants.ONE); |
| | | member.setDriverStatus(Constants.ZERO); |
| | | member.setPassword(secure.encryptPassword(defaultPassword, salt)); |
| | | member.setSalt(salt); |
| | | member.setWorkerIdentity(Constants.ZERO); |
| | | member.setDriverIdentity(Constants.ZERO); |
| | | member.setChefIdentity(Constants.ZERO); |
| | | member.setAmount(Constants.ZERO.longValue()); |
| | | member.setTotalAmount(Constants.ZERO.longValue()); |
| | | member.setStatus(Constants.ZERO); |
| | | member.setLoginTime(now); |
| | | member.setLoginTimes(Constants.ONE.longValue()); |
| | | member.setReceiveNum(Constants.ZERO.longValue()); |
| | | member.setPublishNum(Constants.ZERO.longValue()); |
| | | member.setAutoReceiveStatus(Constants.ONE); |
| | | member.setUseIdentity(Constants.ZERO); |
| | | memberMapper.insert(member); |
| | | |
| | | // åå»ºå¸æºåºç¡ä¿¡æ¯ï¼status=0ï¼æ³¨åç¶æï¼ |
| | | DriverInfo driverInfo = new DriverInfo(); |
| | | driverInfo.setDeleted(Constants.ZERO); |
| | | driverInfo.setCreateTime(now); |
| | | driverInfo.setUpdateTime(now); |
| | | driverInfo.setTelephone(telephone); |
| | | driverInfo.setMemberId(member.getId()); |
| | | driverInfo.setStatus(Constants.ZERO); |
| | | driverInfoMapper.insert(driverInfo); |
| | | } |
| | | |
| | | // 3. çætokenè¿å |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setToken(JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ONE, JSONObject.toJSONString(member), redisTemplate)); |
| | | accountResponse.setMember(member); |
| | | return accountResponse; |
| | | } |
| | | |
| | | @Override |
| | | public AccountResponse login(DriverLoginRequest request) { |
| | | String telephone = request.getTelephone(); |
| | | String password = request.getPassword(); |
| | | if (StringUtils.isAnyBlank(telephone, password)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | // æ¥è¯¢å¸æºä¼å |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getTelephone, telephone) |
| | | .eq(Member::getUserType, Constants.ONE) |
| | | .ne(Member::getStatus, Constants.TWO) |
| | | .last("limit 1")); |
| | | if (Objects.isNull(member)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "è´¦å·ä¸åå¨"); |
| | | } |
| | | if (!Constants.equalsInteger(member.getStatus(), Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "è´¦å·å·²åç¨ï¼è¯·è系管çå"); |
| | | } |
| | | // æ ¡éªå¯ç |
| | | String encryptPwd = secure.encryptPassword(password, member.getSalt()); |
| | | if (!encryptPwd.equals(member.getPassword())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "å¯ç é误"); |
| | | } |
| | | // æ´æ°ç»å½ä¿¡æ¯ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getLoginTime, new Date()) |
| | | .setSql("login_times = login_times + 1") |
| | | .eq(Member::getId, member.getId())); |
| | | |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setToken(JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ONE, JSONObject.toJSONString(member), redisTemplate)); |
| | | accountResponse.setMember(member); |
| | | return accountResponse; |
| | | } |
| | | |
| | | /***************叿ºå®å认è¯ä¸å¡*************/ |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void submitVerify(Integer memberId, DriverVerifyRequest request) { |
| | | // åæ°åºç¡æ ¡éª |
| | | if (StringUtils.isAnyBlank(request.getName(), request.getIdcard(), request.getLivePlace(), |
| | | request.getCarCode(), request.getIdcardImg(), request.getIdcardImgBack())) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if (request.getMaritalStatus() == null || request.getCarType() == null) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | // 身份è¯å·æ ¼å¼æ ¡éªï¼18ä½ï¼æåä¸ä½å¯ä¸ºXï¼ |
| | | if (!request.getIdcard().matches("^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]$")) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "身份è¯å·æ ¼å¼ä¸æ£ç¡®"); |
| | | } |
| | | // æ¥è¯¢å¸æºä¿¡æ¯ |
| | | DriverInfo driverInfo = driverInfoMapper.selectOne(new QueryWrapper<DriverInfo>().lambda() |
| | | .eq(DriverInfo::getMemberId, memberId) |
| | | .eq(DriverInfo::getDeleted, Constants.ZERO) |
| | | .last("limit 1")); |
| | | if (Objects.isNull(driverInfo)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | // ç¶ææ ¡éªï¼status=0(注å)æstatus=3(审æ¹é©³å)å¯æäº¤è®¤è¯ |
| | | if (driverInfo.getStatus() != null |
| | | && !Constants.equalsInteger(driverInfo.getStatus(), Constants.ZERO) |
| | | && !Constants.equalsInteger(driverInfo.getStatus(), Constants.THREE)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "å½åç¶æä¸å
许æäº¤è®¤è¯"); |
| | | } |
| | | // æ ¹æ®è½¦è¾ç±»å夿æ¯å¦éè¦é©¾é©¶è¯ |
| | | Category category = categoryMapper.selectById(request.getCarType()); |
| | | if (Objects.isNull(category) || !Constants.equalsInteger(category.getType(), Constants.ONE)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "车è¾ç±»åä¸åå¨"); |
| | | } |
| | | boolean needLicense = Constants.equalsInteger(Integer.valueOf(category.getOtherField()), Constants.ONE); |
| | | if (needLicense) { |
| | | if (request.getCardStartDate() == null || request.getCardEndDate() == null) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "该车è¾ç±»åéè¦å¡«åé©¾é©¶è¯æææ"); |
| | | } |
| | | if (request.getLicenseImgUrls() == null || request.getLicenseImgUrls().isEmpty()) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "该车è¾ç±»åéè¦ä¸ä¼ 驾驶è¯ç
§ç"); |
| | | } |
| | | } |
| | | // 车è¾ç
§çå¿
å¡« |
| | | if (request.getCarImgUrls() == null || request.getCarImgUrls().isEmpty()) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "请ä¸ä¼ 车è¾ç
§ç"); |
| | | } |
| | | // ç
§çæ°éæ ¡éª |
| | | if (request.getCarImgUrls().size() > 3) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "车è¾ç
§çæå¤ä¸ä¼ 3å¼ "); |
| | | } |
| | | if (request.getLicenseImgUrls() != null && request.getLicenseImgUrls().size() > 3) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "驾驶è¯ç
§çæå¤ä¸ä¼ 3å¼ "); |
| | | } |
| | | if (request.getOtherImgUrls() != null && request.getOtherImgUrls().size() > 3) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "å
¶ä»èµæç
§çæå¤ä¸ä¼ 3å¼ "); |
| | | } |
| | | |
| | | // æ´æ°å¸æºä¿¡æ¯ |
| | | Date now = new Date(); |
| | | driverInfoMapper.update(new UpdateWrapper<DriverInfo>().lambda() |
| | | .set(DriverInfo::getName, request.getName()) |
| | | .set(DriverInfo::getIdcard, request.getIdcard()) |
| | | .set(DriverInfo::getMaritalStatus, request.getMaritalStatus()) |
| | | .set(DriverInfo::getAreaId, request.getAreaId()) |
| | | .set(DriverInfo::getLivePlace, request.getLivePlace()) |
| | | .set(DriverInfo::getCarCode, request.getCarCode()) |
| | | .set(DriverInfo::getCarType, request.getCarType()) |
| | | .set(DriverInfo::getCarColor, request.getCarColor()) |
| | | .set(DriverInfo::getCardStartDate, request.getCardStartDate()) |
| | | .set(DriverInfo::getCardEndDate, request.getCardEndDate()) |
| | | .set(DriverInfo::getIdcardImg, request.getIdcardImg()) |
| | | .set(DriverInfo::getIdcardImgBack, request.getIdcardImgBack()) |
| | | .set(DriverInfo::getStatus, Constants.ONE) |
| | | .set(DriverInfo::getUpdateTime, now) |
| | | .set(DriverInfo::getAuditRemark, null) |
| | | .set(DriverInfo::getAuditTime, null) |
| | | .eq(DriverInfo::getId, driverInfo.getId())); |
| | | |
| | | // å 餿§çç
§çè®°å½ |
| | | multifileMapper.delete(new QueryWrapper<Multifile>().lambda() |
| | | .eq(Multifile::getObjId, driverInfo.getId()) |
| | | .in(Multifile::getObjType, 6, 7, 8)); |
| | | |
| | | // ä¿å车è¾ç
§ç objType=6 |
| | | saveMultifileList(driverInfo.getId(), 6, request.getCarImgUrls(), now); |
| | | // ä¿å驾驶è¯ç
§ç objType=7 |
| | | if (!CollectionUtils.isEmpty(request.getLicenseImgUrls())) { |
| | | saveMultifileList(driverInfo.getId(), 7, request.getLicenseImgUrls(), now); |
| | | } |
| | | // ä¿åå
¶ä»èµæç
§ç objType=8 |
| | | if (!CollectionUtils.isEmpty(request.getOtherImgUrls())) { |
| | | saveMultifileList(driverInfo.getId(), 8, request.getOtherImgUrls(), now); |
| | | } |
| | | |
| | | // æ´æ°ä¼å叿ºè®¤è¯ç¶æä¸ºè®¤è¯ä¸ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getDriverStatus, Constants.ONE) |
| | | .set(Member::getUpdateTime, now) |
| | | .eq(Member::getId, memberId)); |
| | | } |
| | | |
| | | @Override |
| | | public DriverInfo getVerifyDetail(Integer memberId) { |
| | | DriverInfo driverInfo = driverInfoMapper.selectOne(new QueryWrapper<DriverInfo>().lambda() |
| | | .eq(DriverInfo::getMemberId, memberId) |
| | | .eq(DriverInfo::getDeleted, Constants.ZERO) |
| | | .last("limit 1")); |
| | | if (Objects.isNull(driverInfo)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | // æ¥è¯¢è½¦è¾ç±»ååç§°åæ¯å¦éè¦é©¾é©¶è¯ |
| | | if (driverInfo.getCarType() != null) { |
| | | Category category = categoryMapper.selectById(driverInfo.getCarType()); |
| | | if (Objects.nonNull(category)) { |
| | | driverInfo.setCarTypeName(category.getName()); |
| | | driverInfo.setNeedLicense(Constants.equalsInteger(Integer.valueOf(category.getOtherField()), Constants.ONE) ? Constants.ONE : Constants.ZERO); |
| | | } |
| | | } |
| | | // æ¥è¯¢ç
§çå表 |
| | | List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() |
| | | .eq(Multifile::getObjId, driverInfo.getId()) |
| | | .in(Multifile::getObjType, 6, 7, 8) |
| | | .orderByAsc(Multifile::getSortnum)); |
| | | if (!CollectionUtils.isEmpty(multifileList)) { |
| | | for (Multifile mf : multifileList) { |
| | | if (Constants.equalsInteger(mf.getObjType(), 6)) { |
| | | driverInfo.getCarImgList().add(mf); |
| | | } else if (Constants.equalsInteger(mf.getObjType(), 7)) { |
| | | driverInfo.getLicenseImgList().add(mf); |
| | | } else if (Constants.equalsInteger(mf.getObjType(), 8)) { |
| | | driverInfo.getOtherImgList().add(mf); |
| | | } |
| | | } |
| | | } |
| | | return driverInfo; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void auditVerify(AuditDTO auditDTO) { |
| | | if (Objects.isNull(auditDTO.getId()) || Objects.isNull(auditDTO.getAuditStatus())) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | DriverInfo driverInfo = driverInfoMapper.selectById(auditDTO.getId()); |
| | | if (Objects.isNull(driverInfo)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | // åªæç¶æä¸º1(å¾
审æ¹)ä¸å·²å¡«å认è¯ä¿¡æ¯æè½å®¡æ¹ |
| | | if (!Constants.equalsInteger(driverInfo.getStatus(), Constants.ONE) |
| | | || StringUtils.isBlank(driverInfo.getIdcard())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "å½åç¶æä¸å
许审æ¹"); |
| | | } |
| | | Date now = new Date(); |
| | | // 审æ¹ç»æï¼auditDTO.auditStatus 0=éè¿âdriverInfo.status=2ï¼1=æç»âdriverInfo.status=3 |
| | | Integer newStatus; |
| | | if (Constants.equalsInteger(auditDTO.getAuditStatus(), Constants.ZERO)) { |
| | | newStatus = Constants.TWO; // 审æ¹éè¿ |
| | | } else if (Constants.equalsInteger(auditDTO.getAuditStatus(), Constants.ONE)) { |
| | | newStatus = Constants.THREE; // 审æ¹é©³å |
| | | } else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "审æ¹ç¶æåæ°é误"); |
| | | } |
| | | // æ´æ°å¸æºç¶æ |
| | | driverInfoMapper.update(new UpdateWrapper<DriverInfo>().lambda() |
| | | .set(DriverInfo::getStatus, newStatus) |
| | | .set(DriverInfo::getAuditTime, now) |
| | | .set(DriverInfo::getAuditRemark, auditDTO.getAuditRemark()) |
| | | .set(DriverInfo::getAuditUser, auditDTO.getAuditUser()) |
| | | .set(DriverInfo::getUpdateTime, now) |
| | | .eq(DriverInfo::getId, auditDTO.getId())); |
| | | // æ´æ°ä¼å叿ºè®¤è¯ç¶æï¼éè¿=2ï¼é©³å=3 |
| | | Integer driverStatus = Constants.equalsInteger(newStatus, Constants.TWO) ? Constants.TWO : Constants.THREE; |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getDriverStatus, driverStatus) |
| | | .set(Member::getUpdateTime, now) |
| | | .eq(Member::getId, driverInfo.getMemberId())); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éä¿åéä»¶è®°å½ |
| | | */ |
| | | private void saveMultifileList(Integer objId, Integer objType, List<String> urls, Date now) { |
| | | int sortNum = 0; |
| | | for (String url : urls) { |
| | | Multifile multifile = new Multifile(); |
| | | multifile.setObjId(objId); |
| | | multifile.setObjType(objType); |
| | | multifile.setType(Constants.ZERO); |
| | | multifile.setFileurl(url); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreateDate(now); |
| | | multifile.setSortnum(sortNum++); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String,Object> redisTemplate; |
| | | |
| | | |
| | | @Override |
| | | public Integer create(Member member) { |
| | | memberMapper.insert(member); |
| | |
| | | if (StringUtils.isBlank(openId)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "è·åopenid失败ï¼è¯·è系管çå"); |
| | | } |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("openid", openId).eq("DELETED", Constants.ZERO).last("limit 1")); |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenid, openId).eq(Member::getUserType,Constants.ZERO) |
| | | .eq(Member::getDeleted, Constants.ZERO).ne(Member::getStatus, Constants.TWO).last("limit 1")); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setOpenid(openId); |
| | | if(Objects.isNull(member)){ |
| | | return accountResponse; |
| | | } |
| | | accountResponse.setToken(jwtTokenUtil.generateToken(member)); |
| | | if(!Constants.equalsInteger(member.getStatus(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对ä¸èµ·ï¼è´¦å·å·²ç¦ç¨ï¼è¯·è系管çå!"); |
| | | } |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setMember(member); |
| | | return accountResponse; |
| | | } catch (WxErrorException e) { |
| | |
| | | if(Objects.isNull(mobile)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æªè·åå°ææºå·"); |
| | | } |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getTelephone,mobile).last("limit 1")); |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getTelephone,mobile).eq(Member::getUserType,Constants.ZERO) |
| | | .ne(Member::getStatus, Constants.TWO).last("limit 1")); |
| | | if(Objects.nonNull(member)){ |
| | | if(!Constants.equalsInteger(member.getStatus(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对ä¸èµ·ï¼è´¦å·å·²ç¦ç¨ï¼è¯·è系管çå!"); |
| | | } |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getTelephone,mobile) |
| | | .set(Member::getOpenid,wxPhoneRequest.getOpenid()).set(Member::getUpdateTime,new Date()).eq(Member::getId,member.getId())); |
| | | }else{ |
| | |
| | | member.setUseIdentity(Constants.ZERO); |
| | | memberMapper.insert(member); |
| | | } |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setToken(jwtTokenUtil.generateToken(member)); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setMember(member); |
| | | return accountResponse; |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void editUseIdentity(Member member){ |
| | | if(Objects.isNull(member) |
| | | || Objects.isNull(member.getUseIdentity())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(Constants.equalsInteger(member.getUseIdentity(),Constants.ZERO)){ |
| | | member.setUseIdentity(Constants.ZERO); |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ZERO).eq(Member::getId,member.getId())); |
| | | }else{ |
| | | if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda().eq(IdentityInfo::getDeleted,Constants.ZERO) |
| | | .eq(IdentityInfo::getMemberId,member.getId()) |
| | | .eq(IdentityInfo::getAuditStatus,Constants.TWO))>Constants.ZERO){ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ONE).eq(Member::getId,member.getId())); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å½åæ å¯ç¨æ¥å身份!"); |
| | | } |
| | | } |
| | | } |
| | | // @Override |
| | | // public void editUseIdentity(Member member){ |
| | | // if(Objects.isNull(member) |
| | | // || Objects.isNull(member.getUseIdentity())){ |
| | | // throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | // } |
| | | // if(Constants.equalsInteger(member.getUseIdentity(),Constants.ZERO)){ |
| | | // member.setUseIdentity(Constants.ZERO); |
| | | // memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ZERO).eq(Member::getId,member.getId())); |
| | | // }else{ |
| | | // if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda().eq(IdentityInfo::getDeleted,Constants.ZERO) |
| | | // .eq(IdentityInfo::getMemberId,member.getId()) |
| | | // .eq(IdentityInfo::getAuditStatus,Constants.TWO))>Constants.ZERO){ |
| | | // memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ONE).eq(Member::getId,member.getId())); |
| | | // }else{ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å½åæ å¯ç¨æ¥å身份!"); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | @Override |
| | |
| | | +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MEMBER_FILES).getCode(); |
| | | member.setFullCoverImage(path + member.getCoverImage()); |
| | | } |
| | | UserCenterVO userCenterVO = new UserCenterVO(); |
| | | userCenterVO.setReleaseTaskTotal(Constants.ZERO); |
| | | userCenterVO.setWaitReceiveTotal(Constants.ZERO); |
| | | userCenterVO.setDoingTotal(Constants.ZERO); |
| | | userCenterVO.setWaitCommentTotal(Constants.ZERO); |
| | | userCenterVO.setTaskingTotal(Constants.ZERO); |
| | | userCenterVO.setDoneTotal(Constants.ZERO); |
| | | userCenterVO.setReceiveTotal(Constants.ZERO); |
| | | List<Orders> releaseOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO) |
| | | .eq(Orders::getReleaseMemberId,member.getId())); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(releaseOrders)){ |
| | | userCenterVO.setReleaseTaskTotal(releaseOrders.size()); |
| | | userCenterVO.setWaitCommentTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.done.getKey())&&Constants.equalsInteger(i.getCommentStatus(),Constants.ZERO)).collect(Collectors.toList()).size()); |
| | | userCenterVO.setDoingTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size()); |
| | | userCenterVO.setWaitReceiveTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.wait.getKey())).collect(Collectors.toList()).size()); |
| | | } |
| | | List<Orders> acceptOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO).eq(Orders::getAcceptMemberId,member.getId())); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(acceptOrders)){ |
| | | userCenterVO.setReceiveTotal(acceptOrders.size()); |
| | | userCenterVO.setTaskingTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size()); |
| | | userCenterVO.setDoneTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.done.getKey())).collect(Collectors.toList()).size()); |
| | | } |
| | | member.setUserCenterVO(userCenterVO); |
| | | // UserCenterVO userCenterVO = new UserCenterVO(); |
| | | // userCenterVO.setReleaseTaskTotal(Constants.ZERO); |
| | | // userCenterVO.setWaitReceiveTotal(Constants.ZERO); |
| | | // userCenterVO.setDoingTotal(Constants.ZERO); |
| | | // userCenterVO.setWaitCommentTotal(Constants.ZERO); |
| | | // userCenterVO.setTaskingTotal(Constants.ZERO); |
| | | // userCenterVO.setDoneTotal(Constants.ZERO); |
| | | // userCenterVO.setReceiveTotal(Constants.ZERO); |
| | | // List<Orders> releaseOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO) |
| | | // .eq(Orders::getReleaseMemberId,member.getId())); |
| | | // if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(releaseOrders)){ |
| | | // userCenterVO.setReleaseTaskTotal(releaseOrders.size()); |
| | | // userCenterVO.setWaitCommentTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.done.getKey())&&Constants.equalsInteger(i.getCommentStatus(),Constants.ZERO)).collect(Collectors.toList()).size()); |
| | | // userCenterVO.setDoingTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size()); |
| | | // userCenterVO.setWaitReceiveTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.wait.getKey())).collect(Collectors.toList()).size()); |
| | | // } |
| | | // List<Orders> acceptOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO).eq(Orders::getAcceptMemberId,member.getId())); |
| | | // if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(acceptOrders)){ |
| | | // userCenterVO.setReceiveTotal(acceptOrders.size()); |
| | | // userCenterVO.setTaskingTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size()); |
| | | // userCenterVO.setDoneTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.done.getKey())).collect(Collectors.toList()).size()); |
| | | // } |
| | | // member.setUserCenterVO(userCenterVO); |
| | | return member; |
| | | } |
| | | |
| | |
| | | public UserCenterVO getPlatformAboutUs(){ |
| | | UserCenterVO userCenterVO = new UserCenterVO(); |
| | | userCenterVO.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode())); |
| | | userCenterVO.setFeeStandards(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FEE_STANDARDS).getCode())); |
| | | userCenterVO.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode())); |
| | | userCenterVO.setServerPhone(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_PHONE).getCode())); |
| | | userCenterVO.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode())); |
| | | userCenterVO.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode())); |
| | | |
| | | // userCenterVO.setFeeStandards(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FEE_STANDARDS).getCode())); |
| | | // userCenterVO.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode())); |
| | | // userCenterVO.setServerPhone(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_PHONE).getCode())); |
| | | return userCenterVO; |
| | | } |
| | | |
| | | @Override |
| | | public void logOff(String token,Integer memberId){ |
| | | public void logOut(String token,Integer memberId){ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,memberId)); |
| | | jwtTokenUtil.logoutForH5(token); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void logOff(String token,Integer memberId){ |
| | | Member member = memberMapper.selectById(memberId); |
| | | if(Objects.nonNull(member)){ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | // .set(Member::getOpenId,null) |
| | | .set(Member::getStatus,Constants.TWO) |
| | | .eq(Member::getId,member.getId()) |
| | | ); |
| | | } |
| | | redisTemplate.delete(token); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.CategoryMapper; |
| | | import com.doumee.dao.business.PricingRuleMapper; |
| | | import com.doumee.dao.business.model.Category; |
| | | import com.doumee.dao.business.model.PricingRule; |
| | | import com.doumee.dao.dto.LocalStoragePricingItemDTO; |
| | | import com.doumee.dao.dto.LocalStoragePricingSaveDTO; |
| | | import com.doumee.dao.dto.RemoteDeliveryPricingItemDTO; |
| | | import com.doumee.dao.dto.RemoteDeliveryPricingSaveDTO; |
| | | import com.doumee.dao.dto.EstimatedDeliverySaveDTO; |
| | | import com.doumee.dao.dto.StoreDepositItemDTO; |
| | | import com.doumee.dao.dto.StoreDepositSaveDTO; |
| | | import com.doumee.dao.dto.RevenueShareItemDTO; |
| | | import com.doumee.dao.dto.RevenueShareSaveDTO; |
| | | import com.doumee.dao.vo.LocalStoragePricingVO; |
| | | import com.doumee.dao.vo.RemoteDeliveryPricingVO; |
| | | import com.doumee.dao.vo.EstimatedDeliveryVO; |
| | | import com.doumee.dao.vo.StoreDepositVO; |
| | | import com.doumee.dao.vo.RevenueShareVO; |
| | | import com.doumee.service.business.PricingRuleService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 计价è§åé
ç½®Serviceå®ç° |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Service |
| | | public class PricingRuleServiceImpl implements PricingRuleService { |
| | | |
| | | @Autowired |
| | | private PricingRuleMapper pricingRuleMapper; |
| | | |
| | | @Autowired |
| | | private CategoryMapper categoryMapper; |
| | | |
| | | @Override |
| | | public Integer create(PricingRule pricingRule) { |
| | | pricingRuleMapper.insert(pricingRule); |
| | | return pricingRule.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | pricingRuleMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(PricingRule pricingRule) { |
| | | UpdateWrapper<PricingRule> deleteWrapper = new UpdateWrapper<>(pricingRule); |
| | | pricingRuleMapper.delete(deleteWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | pricingRuleMapper.deleteBatchIds(ids); |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(PricingRule pricingRule) { |
| | | pricingRuleMapper.updateById(pricingRule); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<PricingRule> pricingRules) { |
| | | if (CollectionUtils.isEmpty(pricingRules)) { |
| | | return; |
| | | } |
| | | for (PricingRule pricingRule : pricingRules) { |
| | | this.updateById(pricingRule); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public PricingRule findById(Integer id) { |
| | | PricingRule pricingRule = pricingRuleMapper.selectById(id); |
| | | if (Objects.isNull(pricingRule)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | return pricingRule; |
| | | } |
| | | |
| | | @Override |
| | | public PricingRule findOne(PricingRule pricingRule) { |
| | | QueryWrapper<PricingRule> wrapper = new QueryWrapper<>(pricingRule); |
| | | return pricingRuleMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<PricingRule> findList(PricingRule pricingRule) { |
| | | QueryWrapper<PricingRule> wrapper = new QueryWrapper<>(pricingRule); |
| | | return pricingRuleMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<PricingRule> findPage(PageWrap<PricingRule> pageWrap) { |
| | | IPage<PricingRule> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<PricingRule> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setDeleted(Constants.ZERO); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getDeleted() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getDeleted, pageWrap.getModel().getDeleted()); |
| | | } |
| | | if (pageWrap.getModel().getCreateUser() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getCreateUser, pageWrap.getModel().getCreateUser()); |
| | | } |
| | | if (pageWrap.getModel().getCreateTime() != null) { |
| | | queryWrapper.lambda().ge(PricingRule::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())); |
| | | queryWrapper.lambda().le(PricingRule::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())); |
| | | } |
| | | if (pageWrap.getModel().getUpdateUser() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getUpdateUser, pageWrap.getModel().getUpdateUser()); |
| | | } |
| | | if (pageWrap.getModel().getUpdateTime() != null) { |
| | | queryWrapper.lambda().ge(PricingRule::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())); |
| | | queryWrapper.lambda().le(PricingRule::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getCityId() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getCityId, pageWrap.getModel().getCityId()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getType, pageWrap.getModel().getType()); |
| | | } |
| | | if (pageWrap.getModel().getFieldA() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getFieldA, pageWrap.getModel().getFieldA()); |
| | | } |
| | | if (pageWrap.getModel().getFieldB() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getFieldB, pageWrap.getModel().getFieldB()); |
| | | } |
| | | if (pageWrap.getModel().getFieldC() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getFieldC, pageWrap.getModel().getFieldC()); |
| | | } |
| | | if (pageWrap.getModel().getFieldD() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getFieldD, pageWrap.getModel().getFieldD()); |
| | | } |
| | | if (pageWrap.getModel().getFieldE() != null) { |
| | | queryWrapper.lambda().eq(PricingRule::getFieldE, pageWrap.getModel().getFieldE()); |
| | | } |
| | | for (PageWrap.SortData sortData : pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(pricingRuleMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(PricingRule pricingRule) { |
| | | QueryWrapper<PricingRule> wrapper = new QueryWrapper<>(pricingRule); |
| | | return pricingRuleMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void batchSaveLocalStoragePricing(LocalStoragePricingSaveDTO request) { |
| | | // æ ¡éªåç±»æ°æ®å®æ´æ§ |
| | | Set<Integer> requestCategoryIds = request.getItems().stream() |
| | | .map(LocalStoragePricingItemDTO::getCategoryId) |
| | | .collect(Collectors.toSet()); |
| | | validateCategoryType4(requestCategoryIds); |
| | | |
| | | // é项 upsert |
| | | Date now = new Date(); |
| | | for (LocalStoragePricingItemDTO item : request.getItems()) { |
| | | // æ¥è¯¢å·²æè§å |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.ZERO) |
| | | .eq(PricingRule::getFieldA, String.valueOf(item.getCategoryId())) |
| | | .eq(PricingRule::getCityId, request.getCityId()) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO) |
| | | .last("limit 1"); |
| | | PricingRule existing = pricingRuleMapper.selectOne(qw); |
| | | |
| | | if (existing != null) { |
| | | // æ´æ° |
| | | existing.setFieldB(item.getUnitPrice()); |
| | | existing.setUpdateTime(now); |
| | | pricingRuleMapper.updateById(existing); |
| | | } else { |
| | | // æ°å»º |
| | | PricingRule rule = new PricingRule(); |
| | | rule.setType(Constants.ZERO); |
| | | rule.setFieldA(String.valueOf(item.getCategoryId())); |
| | | rule.setFieldB(item.getUnitPrice()); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(now); |
| | | rule.setUpdateTime(now); |
| | | pricingRuleMapper.insert(rule); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<LocalStoragePricingVO> listLocalStoragePricing(Integer cityId) { |
| | | // 1. æ¥è¯¢ææ Category type=4, deleted=0 |
| | | Category categoryQuery = new Category(); |
| | | categoryQuery.setType(Constants.FOUR); |
| | | categoryQuery.setDeleted(Constants.ZERO); |
| | | List<Category> allCategories = categoryMapper.selectList(new QueryWrapper<>(categoryQuery)); |
| | | Map<Integer, String> categoryNameMap = allCategories.stream() |
| | | .collect(Collectors.toMap(Category::getId, Category::getName)); |
| | | |
| | | // 2. æ¥è¯¢å·²æè§å |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.ZERO) |
| | | .eq(PricingRule::getCityId, cityId) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO); |
| | | List<PricingRule> rules = pricingRuleMapper.selectList(qw); |
| | | Map<String, PricingRule> existingMap = rules.stream() |
| | | .collect(Collectors.toMap(PricingRule::getFieldA, r -> r)); |
| | | |
| | | // 3. åºäºææåç±»ç»è£
VOï¼æ è§ååè¿åç©ºè®°å½ |
| | | return allCategories.stream().map(category -> { |
| | | LocalStoragePricingVO vo = new LocalStoragePricingVO(); |
| | | vo.setCategoryId(category.getId()); |
| | | vo.setCategoryName(category.getName()); |
| | | vo.setCityId(cityId); |
| | | |
| | | PricingRule rule = existingMap.get(String.valueOf(category.getId())); |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setUnitPrice(rule.getFieldB()); |
| | | } |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void batchSaveRemoteDeliveryPricing(RemoteDeliveryPricingSaveDTO request) { |
| | | // æ ¡éªåç±»æ°æ®å®æ´æ§ |
| | | Set<Integer> requestCategoryIds = request.getItems().stream() |
| | | .map(RemoteDeliveryPricingItemDTO::getCategoryId) |
| | | .collect(Collectors.toSet()); |
| | | Map<Integer, String> categoryMap = validateCategoryType4(requestCategoryIds); |
| | | |
| | | // é项 upsert |
| | | Date now = new Date(); |
| | | for (RemoteDeliveryPricingItemDTO item : request.getItems()) { |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.ONE) |
| | | .eq(PricingRule::getFieldA, String.valueOf(item.getCategoryId())) |
| | | .eq(PricingRule::getCityId, request.getCityId()) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO) |
| | | .last("limit 1"); |
| | | PricingRule existing = pricingRuleMapper.selectOne(qw); |
| | | |
| | | if (existing != null) { |
| | | existing.setFieldB(item.getStartDistance()); |
| | | existing.setFieldC(item.getStartPrice()); |
| | | existing.setFieldD(item.getExtraDistance()); |
| | | existing.setFieldE(item.getExtraPrice()); |
| | | existing.setUpdateTime(now); |
| | | pricingRuleMapper.updateById(existing); |
| | | } else { |
| | | PricingRule rule = new PricingRule(); |
| | | rule.setType(Constants.ONE); |
| | | rule.setFieldA(String.valueOf(item.getCategoryId())); |
| | | rule.setFieldB(item.getStartDistance()); |
| | | rule.setFieldC(item.getStartPrice()); |
| | | rule.setFieldD(item.getExtraDistance()); |
| | | rule.setFieldE(item.getExtraPrice()); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(now); |
| | | rule.setUpdateTime(now); |
| | | pricingRuleMapper.insert(rule); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<RemoteDeliveryPricingVO> listRemoteDeliveryPricing(Integer cityId) { |
| | | // 1. æ¥è¯¢ææ Category type=4, deleted=0 |
| | | Category categoryQuery = new Category(); |
| | | categoryQuery.setType(Constants.FOUR); |
| | | categoryQuery.setDeleted(Constants.ZERO); |
| | | List<Category> allCategories = categoryMapper.selectList(new QueryWrapper<>(categoryQuery)); |
| | | Map<Integer, String> categoryNameMap = allCategories.stream() |
| | | .collect(Collectors.toMap(Category::getId, Category::getName)); |
| | | |
| | | // 2. æ¥è¯¢å·²æè§å |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.ONE) |
| | | .eq(PricingRule::getCityId, cityId) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO); |
| | | List<PricingRule> rules = pricingRuleMapper.selectList(qw); |
| | | Map<String, PricingRule> existingMap = rules.stream() |
| | | .collect(Collectors.toMap(PricingRule::getFieldA, r -> r)); |
| | | |
| | | // 3. åºäºææåç±»ç»è£
VOï¼æ è§ååè¿åç©ºè®°å½ |
| | | return allCategories.stream().map(category -> { |
| | | RemoteDeliveryPricingVO vo = new RemoteDeliveryPricingVO(); |
| | | vo.setCategoryId(category.getId()); |
| | | vo.setCategoryName(category.getName()); |
| | | vo.setCityId(cityId); |
| | | |
| | | PricingRule rule = existingMap.get(String.valueOf(category.getId())); |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setStartDistance(rule.getFieldB()); |
| | | vo.setStartPrice(rule.getFieldC()); |
| | | vo.setExtraDistance(rule.getFieldD()); |
| | | vo.setExtraPrice(rule.getFieldE()); |
| | | } |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªè¯·æ±ä¸ç categoryId ä¸å类表 type=4 æ°æ®å®å
¨å¹é
|
| | | * @param requestCategoryIds 请æ±ä¸ç categoryId éå |
| | | * @return å类表 id->name æ å° |
| | | */ |
| | | private Map<Integer, String> validateCategoryType4(Set<Integer> requestCategoryIds) { |
| | | Category categoryQuery = new Category(); |
| | | categoryQuery.setType(Constants.FOUR); |
| | | categoryQuery.setDeleted(Constants.ZERO); |
| | | List<Category> allType4Categories = categoryMapper.selectList(new QueryWrapper<>(categoryQuery)); |
| | | |
| | | Map<Integer, String> categoryMap = allType4Categories.stream() |
| | | .collect(Collectors.toMap(Category::getId, Category::getName)); |
| | | Set<Integer> allCategoryIds = categoryMap.keySet(); |
| | | |
| | | // æ ¡éªï¼è¯·æ±ä¸åå¨ä½å类表ä¸ä¸åå¨ç categoryId |
| | | List<String> invalidIds = requestCategoryIds.stream() |
| | | .filter(id -> !allCategoryIds.contains(id)) |
| | | .map(String::valueOf) |
| | | .collect(Collectors.toList()); |
| | | if (!invalidIds.isEmpty()) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "以ä¸ç©åè§æ ¼ä¸åå¨: " + String.join(", ", invalidIds)); |
| | | } |
| | | |
| | | // æ ¡éªï¼å类表ä¸åå¨ä½è¯·æ±ä¸ç¼ºå¤±ç categoryId |
| | | List<String> missingNames = allCategoryIds.stream() |
| | | .filter(id -> !requestCategoryIds.contains(id)) |
| | | .map(id -> categoryMap.get(id) + "(" + id + ")") |
| | | .collect(Collectors.toList()); |
| | | if (!missingNames.isEmpty()) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "缺å°ä»¥ä¸ç©åè§æ ¼çå®ä»·é
ç½®: " + String.join(", ", missingNames)); |
| | | } |
| | | |
| | | return categoryMap; |
| | | } |
| | | |
| | | @Override |
| | | public Integer createEstimatedDelivery(EstimatedDeliverySaveDTO request) { |
| | | PricingRule rule = new PricingRule(); |
| | | rule.setType(Constants.TWO); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setFieldA(request.getDistance()); |
| | | rule.setFieldB(request.getDuration()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(new Date()); |
| | | rule.setUpdateTime(new Date()); |
| | | pricingRuleMapper.insert(rule); |
| | | return rule.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void updateEstimatedDelivery(EstimatedDeliverySaveDTO request) { |
| | | if (request.getId() == null) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "主é®ä¸è½ä¸ºç©º"); |
| | | } |
| | | PricingRule existing = pricingRuleMapper.selectById(request.getId()); |
| | | if (Objects.isNull(existing) || !Constants.equalsInteger(existing.getType(), Constants.TWO)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | existing.setFieldA(request.getDistance()); |
| | | existing.setFieldB(request.getDuration()); |
| | | existing.setCityId(request.getCityId()); |
| | | existing.setUpdateTime(new Date()); |
| | | pricingRuleMapper.updateById(existing); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteEstimatedDelivery(Integer id) { |
| | | PricingRule existing = pricingRuleMapper.selectById(id); |
| | | if (Objects.isNull(existing) || !Constants.equalsInteger(existing.getType(), Constants.TWO)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | existing.setDeleted(Constants.ONE); |
| | | existing.setUpdateTime(new Date()); |
| | | pricingRuleMapper.updateById(existing); |
| | | } |
| | | |
| | | @Override |
| | | public List<EstimatedDeliveryVO> listEstimatedDelivery(Integer cityId) { |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.TWO) |
| | | .eq(PricingRule::getCityId, cityId) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO) |
| | | .orderByAsc(PricingRule::getFieldA); |
| | | List<PricingRule> rules = pricingRuleMapper.selectList(qw); |
| | | if (CollectionUtils.isEmpty(rules)) { |
| | | return new ArrayList<>(); |
| | | } |
| | | return rules.stream().map(rule -> { |
| | | EstimatedDeliveryVO vo = new EstimatedDeliveryVO(); |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setCityId(rule.getCityId()); |
| | | vo.setDistance(rule.getFieldA()); |
| | | vo.setDuration(rule.getFieldB()); |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void batchSaveStoreDeposit(StoreDepositSaveDTO request) { |
| | | // æ ¡éªï¼å¿
é¡»å
å« fieldType=0(ä¼ä¸) å fieldType=1(个人) å䏿¡ |
| | | Set<Integer> fieldTypes = request.getItems().stream() |
| | | .map(StoreDepositItemDTO::getFieldType) |
| | | .collect(Collectors.toSet()); |
| | | if (!fieldTypes.contains(Constants.ZERO) || !fieldTypes.contains(Constants.ONE)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "å¿
é¡»å
å«ä¼ä¸(0)å个人(1)ä¸¤æ¡æ°æ®"); |
| | | } |
| | | if (request.getItems().size() != 2) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "æä¸ä»
æ2æ¡æ°æ®"); |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | for (StoreDepositItemDTO item : request.getItems()) { |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.THREE) |
| | | .eq(PricingRule::getFieldA, String.valueOf(item.getFieldType())) |
| | | .eq(PricingRule::getCityId, request.getCityId()) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO) |
| | | .last("limit 1"); |
| | | PricingRule existing = pricingRuleMapper.selectOne(qw); |
| | | |
| | | if (existing != null) { |
| | | existing.setFieldB(item.getDepositAmount()); |
| | | existing.setUpdateTime(now); |
| | | pricingRuleMapper.updateById(existing); |
| | | } else { |
| | | PricingRule rule = new PricingRule(); |
| | | rule.setType(Constants.THREE); |
| | | rule.setFieldA(String.valueOf(item.getFieldType())); |
| | | rule.setFieldB(item.getDepositAmount()); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(now); |
| | | rule.setUpdateTime(now); |
| | | pricingRuleMapper.insert(rule); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<StoreDepositVO> listStoreDeposit(Integer cityId) { |
| | | // æ¥è¯¢å·²æè§å |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.THREE) |
| | | .eq(PricingRule::getCityId, cityId) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO); |
| | | List<PricingRule> rules = pricingRuleMapper.selectList(qw); |
| | | |
| | | // æå»ºå·²å卿°æ®çæ å° fieldA -> rule |
| | | Map<String, PricingRule> existingMap = rules.stream() |
| | | .collect(Collectors.toMap(PricingRule::getFieldA, r -> r)); |
| | | |
| | | // åºå®è¿å2æ¡ï¼ä¼ä¸(0)ã个人(1) |
| | | List<StoreDepositVO> result = new ArrayList<>(); |
| | | String[] typeNames = {"ä¼ä¸", "个人"}; |
| | | for (int i = 0; i <= 1; i++) { |
| | | StoreDepositVO vo = new StoreDepositVO(); |
| | | vo.setFieldType(i); |
| | | vo.setFieldTypeName(typeNames[i]); |
| | | vo.setCityId(cityId); |
| | | |
| | | PricingRule rule = existingMap.get(String.valueOf(i)); |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setDepositAmount(rule.getFieldB()); |
| | | } |
| | | result.add(vo); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void batchSaveRevenueShare(RevenueShareSaveDTO request) { |
| | | // æ ¡éªï¼å¿
é¡»å
å« fieldType 0-4 å䏿¡ |
| | | Set<Integer> fieldTypes = request.getItems().stream() |
| | | .map(RevenueShareItemDTO::getFieldType) |
| | | .collect(Collectors.toSet()); |
| | | if (fieldTypes.size() != Constants.FIVE) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "å¿
é¡»å
å«ä¼ä¸å¯(0)ã个人å¯(1)ãä¼ä¸å(2)ã个人å(3)ãé
éå(4)å
±5æ¡æ°æ®"); |
| | | } |
| | | for (int i = 0; i <= Constants.FOUR; i++) { |
| | | if (!fieldTypes.contains(i)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "缺å°ç±»å" + i + "çæ°æ®"); |
| | | } |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | for (RevenueShareItemDTO item : request.getItems()) { |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.FOUR) |
| | | .eq(PricingRule::getFieldA, String.valueOf(item.getFieldType())) |
| | | .eq(PricingRule::getCityId, request.getCityId()) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO) |
| | | .last("limit 1"); |
| | | PricingRule existing = pricingRuleMapper.selectOne(qw); |
| | | |
| | | if (existing != null) { |
| | | existing.setFieldB(item.getRatio()); |
| | | existing.setUpdateTime(now); |
| | | pricingRuleMapper.updateById(existing); |
| | | } else { |
| | | PricingRule rule = new PricingRule(); |
| | | rule.setType(Constants.FOUR); |
| | | rule.setFieldA(String.valueOf(item.getFieldType())); |
| | | rule.setFieldB(item.getRatio()); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(now); |
| | | rule.setUpdateTime(now); |
| | | pricingRuleMapper.insert(rule); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<RevenueShareVO> listRevenueShare(Integer cityId) { |
| | | // æ¥è¯¢å·²æè§å |
| | | QueryWrapper<PricingRule> qw = new QueryWrapper<>(); |
| | | qw.lambda() |
| | | .eq(PricingRule::getType, Constants.FOUR) |
| | | .eq(PricingRule::getCityId, cityId) |
| | | .eq(PricingRule::getDeleted, Constants.ZERO); |
| | | List<PricingRule> rules = pricingRuleMapper.selectList(qw); |
| | | |
| | | // æå»ºå·²å卿°æ®çæ å° fieldA -> rule |
| | | Map<String, PricingRule> existingMap = rules.stream() |
| | | .collect(Collectors.toMap(PricingRule::getFieldA, r -> r)); |
| | | |
| | | // åºå®è¿å5æ¡ï¼ä¼ä¸å¯(0)ã个人å¯(1)ãä¼ä¸å(2)ã个人å(3)ãé
éå(4) |
| | | List<RevenueShareVO> result = new ArrayList<>(); |
| | | String[] typeNames = {"ä¼ä¸å¯", "个人å¯", "ä¼ä¸å", "个人å", "é
éå"}; |
| | | for (int i = 0; i <= Constants.FOUR; i++) { |
| | | RevenueShareVO vo = new RevenueShareVO(); |
| | | vo.setFieldType(i); |
| | | vo.setFieldTypeName(typeNames[i]); |
| | | vo.setCityId(cityId); |
| | | |
| | | PricingRule rule = existingMap.get(String.valueOf(i)); |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setRatio(rule.getFieldB()); |
| | | } |
| | | result.add(vo); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.ShopInfoMapper; |
| | | import com.doumee.dao.business.model.ShopInfo; |
| | | import com.doumee.service.business.ShopInfoService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * é¨åºä¿¡æ¯Serviceå®ç° |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Service |
| | | public class ShopInfoServiceImpl implements ShopInfoService { |
| | | |
| | | @Autowired |
| | | private ShopInfoMapper shopInfoMapper; |
| | | |
| | | @Override |
| | | public Integer create(ShopInfo shopInfo) { |
| | | shopInfoMapper.insert(shopInfo); |
| | | return shopInfo.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | shopInfoMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(ShopInfo shopInfo) { |
| | | UpdateWrapper<ShopInfo> deleteWrapper = new UpdateWrapper<>(shopInfo); |
| | | shopInfoMapper.delete(deleteWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | shopInfoMapper.deleteBatchIds(ids); |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(ShopInfo shopInfo) { |
| | | shopInfoMapper.updateById(shopInfo); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<ShopInfo> shopInfos) { |
| | | if (CollectionUtils.isEmpty(shopInfos)) { |
| | | return; |
| | | } |
| | | for (ShopInfo shopInfo : shopInfos) { |
| | | this.updateById(shopInfo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ShopInfo findById(Integer id) { |
| | | ShopInfo shopInfo = shopInfoMapper.selectById(id); |
| | | if (Objects.isNull(shopInfo)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | return shopInfo; |
| | | } |
| | | |
| | | @Override |
| | | public ShopInfo findOne(ShopInfo shopInfo) { |
| | | QueryWrapper<ShopInfo> wrapper = new QueryWrapper<>(shopInfo); |
| | | return shopInfoMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<ShopInfo> findList(ShopInfo shopInfo) { |
| | | QueryWrapper<ShopInfo> wrapper = new QueryWrapper<>(shopInfo); |
| | | return shopInfoMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<ShopInfo> findPage(PageWrap<ShopInfo> pageWrap) { |
| | | IPage<ShopInfo> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<ShopInfo> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setDeleted(Constants.ZERO); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getDeleted() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getDeleted, pageWrap.getModel().getDeleted()); |
| | | } |
| | | if (pageWrap.getModel().getCreateUser() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getCreateUser, pageWrap.getModel().getCreateUser()); |
| | | } |
| | | if (pageWrap.getModel().getCreateTime() != null) { |
| | | queryWrapper.lambda().ge(ShopInfo::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())); |
| | | queryWrapper.lambda().le(ShopInfo::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())); |
| | | } |
| | | if (pageWrap.getModel().getUpdateUser() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getUpdateUser, pageWrap.getModel().getUpdateUser()); |
| | | } |
| | | if (pageWrap.getModel().getUpdateTime() != null) { |
| | | queryWrapper.lambda().ge(ShopInfo::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())); |
| | | queryWrapper.lambda().le(ShopInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getCompanyType() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getCompanyType, pageWrap.getModel().getCompanyType()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().like(ShopInfo::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getTelephone() != null) { |
| | | queryWrapper.lambda().like(ShopInfo::getTelephone, pageWrap.getModel().getTelephone()); |
| | | } |
| | | if (pageWrap.getModel().getLinkName() != null) { |
| | | queryWrapper.lambda().like(ShopInfo::getLinkName, pageWrap.getModel().getLinkName()); |
| | | } |
| | | if (pageWrap.getModel().getLinkPhone() != null) { |
| | | queryWrapper.lambda().like(ShopInfo::getLinkPhone, pageWrap.getModel().getLinkPhone()); |
| | | } |
| | | if (pageWrap.getModel().getAreaId() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getAreaId, pageWrap.getModel().getAreaId()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getAuditTime() != null) { |
| | | queryWrapper.lambda().ge(ShopInfo::getAuditTime, Utils.Date.getStart(pageWrap.getModel().getAuditTime())); |
| | | queryWrapper.lambda().le(ShopInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime())); |
| | | } |
| | | if (pageWrap.getModel().getAuditUserId() != null) { |
| | | queryWrapper.lambda().eq(ShopInfo::getAuditUserId, pageWrap.getModel().getAuditUserId()); |
| | | } |
| | | if (pageWrap.getModel().getOpenid() != null) { |
| | | queryWrapper.lambda().like(ShopInfo::getOpenid, pageWrap.getModel().getOpenid()); |
| | | } |
| | | for (PageWrap.SortData sortData : pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(shopInfoMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(ShopInfo shopInfo) { |
| | | QueryWrapper<ShopInfo> wrapper = new QueryWrapper<>(shopInfo); |
| | | return shopInfoMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.SmsrecordMapper; |
| | | import com.doumee.dao.business.model.Smsrecord; |
| | | import com.doumee.service.business.SmsrecordService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * çä¿¡éªè¯ç Serviceå®ç° |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Service |
| | | public class SmsrecordServiceImpl implements SmsrecordService { |
| | | |
| | | @Autowired |
| | | private SmsrecordMapper smsrecordMapper; |
| | | |
| | | @Override |
| | | public Integer create(Smsrecord smsrecord) { |
| | | smsrecordMapper.insert(smsrecord); |
| | | return smsrecord.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | smsrecordMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Smsrecord smsrecord) { |
| | | UpdateWrapper<Smsrecord> deleteWrapper = new UpdateWrapper<>(smsrecord); |
| | | smsrecordMapper.delete(deleteWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | smsrecordMapper.deleteBatchIds(ids); |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(Smsrecord smsrecord) { |
| | | smsrecordMapper.updateById(smsrecord); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<Smsrecord> smsrecords) { |
| | | if (CollectionUtils.isEmpty(smsrecords)) { |
| | | return; |
| | | } |
| | | for (Smsrecord smsrecord : smsrecords) { |
| | | this.updateById(smsrecord); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Smsrecord findById(Integer id) { |
| | | Smsrecord smsrecord = smsrecordMapper.selectById(id); |
| | | if (Objects.isNull(smsrecord)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | return smsrecord; |
| | | } |
| | | |
| | | @Override |
| | | public Smsrecord findOne(Smsrecord smsrecord) { |
| | | QueryWrapper<Smsrecord> wrapper = new QueryWrapper<>(smsrecord); |
| | | return smsrecordMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<Smsrecord> findList(Smsrecord smsrecord) { |
| | | QueryWrapper<Smsrecord> wrapper = new QueryWrapper<>(smsrecord); |
| | | return smsrecordMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<Smsrecord> findPage(PageWrap<Smsrecord> pageWrap) { |
| | | IPage<Smsrecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Smsrecord> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setDeleted(Constants.ZERO); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getDeleted() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getDeleted, pageWrap.getModel().getDeleted()); |
| | | } |
| | | if (pageWrap.getModel().getCreateUser() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getCreateUser, pageWrap.getModel().getCreateUser()); |
| | | } |
| | | if (pageWrap.getModel().getCreateTime() != null) { |
| | | queryWrapper.lambda().ge(Smsrecord::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())); |
| | | queryWrapper.lambda().le(Smsrecord::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())); |
| | | } |
| | | if (pageWrap.getModel().getUpdateUser() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getUpdateUser, pageWrap.getModel().getUpdateUser()); |
| | | } |
| | | if (pageWrap.getModel().getUpdateTime() != null) { |
| | | queryWrapper.lambda().ge(Smsrecord::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())); |
| | | queryWrapper.lambda().le(Smsrecord::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getPhone() != null) { |
| | | queryWrapper.lambda().like(Smsrecord::getPhone, pageWrap.getModel().getPhone()); |
| | | } |
| | | if (pageWrap.getModel().getContent() != null) { |
| | | queryWrapper.lambda().like(Smsrecord::getContent, pageWrap.getModel().getContent()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getType, pageWrap.getModel().getType()); |
| | | } |
| | | if (pageWrap.getModel().getValidDate() != null) { |
| | | queryWrapper.lambda().ge(Smsrecord::getValidDate, Utils.Date.getStart(pageWrap.getModel().getValidDate())); |
| | | queryWrapper.lambda().le(Smsrecord::getValidDate, Utils.Date.getEnd(pageWrap.getModel().getValidDate())); |
| | | } |
| | | if (pageWrap.getModel().getCode() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getCode, pageWrap.getModel().getCode()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(Smsrecord::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | for (PageWrap.SortData sortData : pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(smsrecordMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(Smsrecord smsrecord) { |
| | | QueryWrapper<Smsrecord> wrapper = new QueryWrapper<>(smsrecord); |
| | | return smsrecordMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | } |
| | |
| | | }) |
| | | public ApiResponse logOff() { |
| | | String token = this.getRequest().getHeader(JwtTokenUtil.HEADER_KEY); |
| | | memberService.logOff(token,getMemberId()); |
| | | memberService.logOut(token,getMemberId()); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "ç¨æ·æ³¨é", notes = "å°ç¨åºç«¯") |
| | | @GetMapping("/logOut") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse logOut() { |
| | | String token = this.getRequest().getHeader(JwtTokenUtil.HEADER_KEY); |
| | | memberService.logOut(token,getMemberId()); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api.web; |
| | | |
| | | import com.doumee.core.annotation.LoginRequired; |
| | | import com.doumee.core.annotation.trace.Trace; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.dao.dto.DriverLoginRequest; |
| | | import com.doumee.dao.dto.DriverRegisterRequest; |
| | | import com.doumee.dao.dto.DriverVerifyRequest; |
| | | import com.doumee.dao.vo.AccountResponse; |
| | | import com.doumee.service.business.DriverInfoService; |
| | | 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.web.bind.annotation.*; |
| | | |
| | | /** |
| | | * 叿ºéªè¯ç ç»å½æ¥å£ |
| | | * @author rk |
| | | * @date 2026/04/08 |
| | | */ |
| | | @Api(tags = "叿ºéªè¯ç ç»å½") |
| | | @Trace(exclude = true) |
| | | @RestController |
| | | @RequestMapping("/web/driverInfo") |
| | | @Slf4j |
| | | public class DriverInfoApi extends ApiController { |
| | | |
| | | @Autowired |
| | | private DriverInfoService driverInfoService; |
| | | |
| | | @Trace |
| | | @ApiOperation(value = "åééªè¯ç ", notes = "叿ºéªè¯ç ç»å½") |
| | | @GetMapping("/sendCode") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "telephone", value = "ææºå·", required = true) |
| | | }) |
| | | public ApiResponse sendCode(@RequestParam String telephone) { |
| | | driverInfoService.sendRegisterCode(telephone); |
| | | return ApiResponse.success("éªè¯ç åéæå"); |
| | | } |
| | | |
| | | @Trace |
| | | @ApiOperation(value = "叿ºéªè¯ç ç»å½", notes = "ææºå·+éªè¯ç ï¼æ è´¦å·èªå¨æ³¨åå¹¶ç»å½") |
| | | @PostMapping("/register") |
| | | public ApiResponse<AccountResponse> register(@RequestBody DriverRegisterRequest request) { |
| | | return ApiResponse.success("注åæå", driverInfoService.register(request)); |
| | | } |
| | | |
| | | @Trace |
| | | @ApiOperation(value = "叿ºç»å½", notes = "ææºå·+å¯ç ç»å½") |
| | | @PostMapping("/login") |
| | | public ApiResponse<AccountResponse> login(@RequestBody DriverLoginRequest request) { |
| | | return ApiResponse.success("ç»å½æå", driverInfoService.login(request)); |
| | | } |
| | | |
| | | @LoginRequired |
| | | @Trace |
| | | @ApiOperation(value = "æäº¤å®å认è¯", notes = "忬¡æäº¤æé©³ååä¿®æ¹") |
| | | @PostMapping("/submitVerify") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true) |
| | | }) |
| | | public ApiResponse submitVerify(@RequestBody DriverVerifyRequest request) { |
| | | driverInfoService.submitVerify(this.getMemberId(), request); |
| | | return ApiResponse.success("æäº¤æå"); |
| | | } |
| | | |
| | | @LoginRequired |
| | | @Trace |
| | | @ApiOperation(value = "æ¥è¯¢å®å认è¯è¯¦æ
", notes = "叿ºç«¯æ¥è¯¢") |
| | | @GetMapping("/verifyDetail") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true) |
| | | }) |
| | | public ApiResponse verifyDetail() { |
| | | return ApiResponse.success(driverInfoService.getVerifyDetail(this.getMemberId())); |
| | | } |
| | | |
| | | } |
| | |
| | | @Autowired |
| | | private MemberService memberService; |
| | | |
| | | @Autowired |
| | | private IdentityInfoService identityInfoService; |
| | | // @Autowired |
| | | // private IdentityInfoService identityInfoService; |
| | | |
| | | @Autowired |
| | | private MemberRevenueService memberRevenueService; |
| | | |
| | | @Autowired |
| | | private WithdrawalOrdersService withdrawalOrdersService; |
| | | // @Autowired |
| | | // private MemberRevenueService memberRevenueService; |
| | | // |
| | | // @Autowired |
| | | // private WithdrawalOrdersService withdrawalOrdersService; |
| | | |
| | | |
| | | @ApiOperation(value = "è·åç³»ç»é
ç½®", notes = "å°ç¨åºç«¯") |
| | |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "忢ç¨å·¥èº«ä»½", notes = "å°ç¨åºç«¯") |
| | | @PostMapping("/editUseIdentity") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse editUseIdentity(@RequestBody Member member) { |
| | | member.setId(getMemberId()); |
| | | memberService.editUseIdentity(member); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | // @LoginRequired |
| | | // @ApiOperation(value = "忢ç¨å·¥èº«ä»½", notes = "å°ç¨åºç«¯") |
| | | // @PostMapping("/editUseIdentity") |
| | | // @ApiImplicitParams({ |
| | | // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | // }) |
| | | // public ApiResponse editUseIdentity(@RequestBody Member member) { |
| | | // member.setId(getMemberId()); |
| | | // memberService.editUseIdentity(member); |
| | | // return ApiResponse.success("æä½æå"); |
| | | // } |
| | | |
| | | |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "è·å身份认è¯ä¿¡æ¯", notes = "å°ç¨åºç«¯") |
| | | @GetMapping("/getIdentityInfo") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse<IdentityInfo> getIdentityInfo(@RequestParam Integer type) { |
| | | return ApiResponse.success("æ¥è¯¢æå",identityInfoService.findByMemberType(type,getMemberId())); |
| | | } |
| | | // @LoginRequired |
| | | // @ApiOperation(value = "è·å身份认è¯ä¿¡æ¯", notes = "å°ç¨åºç«¯") |
| | | // @GetMapping("/getIdentityInfo") |
| | | // @ApiImplicitParams({ |
| | | // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | // }) |
| | | // public ApiResponse<IdentityInfo> getIdentityInfo(@RequestParam Integer type) { |
| | | // return ApiResponse.success("æ¥è¯¢æå",identityInfoService.findByMemberType(type,getMemberId())); |
| | | // } |
| | | |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "ç³è¯·èº«ä»½ä¿¡æ¯", notes = "å°ç¨åºç«¯") |
| | | @PostMapping("/applyForIdentity") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse applyForIdentity(@RequestBody IdentityInfo identityInfo) { |
| | | identityInfo.setMemberId(getMemberId()); |
| | | identityInfoService.create(identityInfo); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | // @LoginRequired |
| | | // @ApiOperation(value = "ç³è¯·èº«ä»½ä¿¡æ¯", notes = "å°ç¨åºç«¯") |
| | | // @PostMapping("/applyForIdentity") |
| | | // @ApiImplicitParams({ |
| | | // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | // }) |
| | | // public ApiResponse applyForIdentity(@RequestBody IdentityInfo identityInfo) { |
| | | // identityInfo.setMemberId(getMemberId()); |
| | | // identityInfoService.create(identityInfo); |
| | | // return ApiResponse.success("æä½æå"); |
| | | // } |
| | | |
| | | |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "ä¿®æ¹èº«ä»½ä¿¡æ¯ï¼è®¤è¯å¤±è´¥å使ç¨ï¼", notes = "å°ç¨åºç«¯") |
| | | @PostMapping("/updateIdentity") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse updateIdentity(@RequestBody IdentityInfo identityInfo) { |
| | | identityInfo.setMemberId(getMemberId()); |
| | | identityInfoService.updateById(identityInfo); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | // @LoginRequired |
| | | // @ApiOperation(value = "ä¿®æ¹èº«ä»½ä¿¡æ¯ï¼è®¤è¯å¤±è´¥å使ç¨ï¼", notes = "å°ç¨åºç«¯") |
| | | // @PostMapping("/updateIdentity") |
| | | // @ApiImplicitParams({ |
| | | // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | // }) |
| | | // public ApiResponse updateIdentity(@RequestBody IdentityInfo identityInfo) { |
| | | // identityInfo.setMemberId(getMemberId()); |
| | | // identityInfoService.updateById(identityInfo); |
| | | // return ApiResponse.success("æä½æå"); |
| | | // } |
| | | |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "ä¿®æ¹èº«ä»½ä¿¡æ¯ä½ç½®ï¼è®¤è¯æåå使ç¨ï¼", notes = "å°ç¨åºç«¯") |
| | | @PostMapping("/updateLocation") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse updateLocation(@RequestBody IdentityInfo identityInfo) { |
| | | identityInfo.setMemberId(getMemberId()); |
| | | identityInfoService.updateLocation(identityInfo); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | // @LoginRequired |
| | | // @ApiOperation(value = "ä¿®æ¹èº«ä»½ä¿¡æ¯ä½ç½®ï¼è®¤è¯æåå使ç¨ï¼", notes = "å°ç¨åºç«¯") |
| | | // @PostMapping("/updateLocation") |
| | | // @ApiImplicitParams({ |
| | | // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | // }) |
| | | // public ApiResponse updateLocation(@RequestBody IdentityInfo identityInfo) { |
| | | // identityInfo.setMemberId(getMemberId()); |
| | | // identityInfoService.updateLocation(identityInfo); |
| | | // return ApiResponse.success("æä½æå"); |
| | | // } |
| | | |
| | | @LoginRequired |
| | | @ApiOperation("ä½é¢æç»") |
| | | @PostMapping("/revenuePage") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse<PageData<MemberRevenue>> revenuePage (@RequestBody PageWrap<MemberRevenue> pageWrap) { |
| | | pageWrap.getModel().setMemberId(this.getMemberId()); |
| | | return ApiResponse.success(memberRevenueService.findPage(pageWrap)); |
| | | } |
| | | // @LoginRequired |
| | | // @ApiOperation("ä½é¢æç»") |
| | | // @PostMapping("/revenuePage") |
| | | // @ApiImplicitParams({ |
| | | // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | // }) |
| | | // public ApiResponse<PageData<MemberRevenue>> revenuePage (@RequestBody PageWrap<MemberRevenue> pageWrap) { |
| | | // pageWrap.getModel().setMemberId(this.getMemberId()); |
| | | // return ApiResponse.success(memberRevenueService.findPage(pageWrap)); |
| | | // } |
| | | |
| | | |
| | | |