From d758f7d2958a088da3b494f7c22bbabbbe5d759b Mon Sep 17 00:00:00 2001 From: Houpn Date: Sun, 27 Aug 2023 23:25:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=99=BB=E5=BD=95=E4=BB=A5?= =?UTF-8?q?=E5=90=8E=E7=BB=91=E5=AE=9A=E8=AE=BE=E5=A4=87=EF=BC=8C=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E4=B8=8B=E5=8D=95=E6=97=B6=E8=BF=9B=E8=A1=8C=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8E=A8=E9=80=81=EF=BC=8C=E5=8F=A6=E5=A4=96=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E7=94=A8=E6=88=B7token=E9=AA=8C=E8=AF=81=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/SecurityConstant.java | 5 ++ .../jwt/TokenAuthenticationFilter.java | 50 ++++++++++++++++++- .../java/cc/hiver/core/dao/WorkerDao.java | 2 + .../java/cc/hiver/core/entity/Worker.java | 12 ++++- .../cc/hiver/core/service/WorkerService.java | 3 ++ .../core/serviceimpl/WorkerServiceImpl.java | 5 ++ .../mall/controller/OrderController.java | 37 ++++++++++++++ .../hiver/mall/controller/SaleController.java | 11 ++-- .../mall/controller/WorkerAuthController.java | 18 ++++--- .../mall/controller/WorkerController.java | 28 +++-------- .../java/cc/hiver/mall/entity/Recharge.java | 3 +- .../cc/hiver/mall/pojo/vo/OrderQueryVO.java | 41 +++++++++++++++ .../mall/service/SendMessageService.java | 2 +- .../serviceimpl/SendMessageServiceImpl.java | 12 +++-- 14 files changed, 187 insertions(+), 42 deletions(-) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/OrderQueryVO.java diff --git a/hiver-core/src/main/java/cc/hiver/core/common/constant/SecurityConstant.java b/hiver-core/src/main/java/cc/hiver/core/common/constant/SecurityConstant.java index 6f02d0a7..dd74a726 100644 --- a/hiver-core/src/main/java/cc/hiver/core/common/constant/SecurityConstant.java +++ b/hiver-core/src/main/java/cc/hiver/core/common/constant/SecurityConstant.java @@ -97,4 +97,9 @@ public interface SecurityConstant { * 运送员交互token前缀key */ String TOKEN_WORKER_PRE = "HIVER_TOKEN_WORKER_PRE:"; + + /** + * appToken参数头 + */ + String APP_YS_HEADER = "appYSToken"; } diff --git a/hiver-core/src/main/java/cc/hiver/core/config/security/jwt/TokenAuthenticationFilter.java b/hiver-core/src/main/java/cc/hiver/core/config/security/jwt/TokenAuthenticationFilter.java index 4d1986ec..c6d6a597 100644 --- a/hiver-core/src/main/java/cc/hiver/core/config/security/jwt/TokenAuthenticationFilter.java +++ b/hiver-core/src/main/java/cc/hiver/core/config/security/jwt/TokenAuthenticationFilter.java @@ -6,6 +6,7 @@ import cc.hiver.core.common.utils.ResponseUtil; import cc.hiver.core.common.utils.SecurityUtil; import cc.hiver.core.common.vo.TokenMember; import cc.hiver.core.common.vo.TokenUser; +import cc.hiver.core.common.vo.TokenWorker; import cc.hiver.core.config.properties.HiverAppTokenProperties; import cc.hiver.core.config.properties.HiverTokenProperties; import cn.hutool.core.util.StrUtil; @@ -73,8 +74,12 @@ public class TokenAuthenticationFilter extends BasicAuthenticationFilter { if (StrUtil.isBlank(appHeader)) { appHeader = request.getParameter(SecurityConstant.APP_HEADER); } + String appYSHeader = request.getHeader(SecurityConstant.APP_YS_HEADER); + if (StrUtil.isBlank(appYSHeader)) { + appYSHeader = request.getParameter(SecurityConstant.APP_YS_HEADER); + } Boolean notValid = (StrUtil.isBlank(header) || (!tokenProperties.getRedis() && !header.startsWith(SecurityConstant.TOKEN_SPLIT))) - && StrUtil.isBlank(appHeader); + && StrUtil.isBlank(appHeader) && StrUtil.isBlank(appYSHeader); if (notValid) { chain.doFilter(request, response); return; @@ -83,8 +88,10 @@ public class TokenAuthenticationFilter extends BasicAuthenticationFilter { UsernamePasswordAuthenticationToken authentication = null; if (StrUtil.isNotBlank(header)) { authentication = getAuthentication(header, response); - } else { + } else if(StrUtil.isNotBlank(appHeader)){ authentication = getAppAuthentication(appHeader, response); + } else { + authentication = getAppYSAuthentication(appYSHeader, response); } if (authentication == null) { return; @@ -194,4 +201,43 @@ public class TokenAuthenticationFilter extends BasicAuthenticationFilter { } return null; } + private UsernamePasswordAuthenticationToken getAppYSAuthentication(String appYSHeader, HttpServletResponse response) { + TokenWorker tokenWorker = null; + List authorities = new ArrayList<>(); + + if (appTokenProperties.getRedis()) { + // redis + String v = redisTemplate.get(SecurityConstant.TOKEN_WORKER_PRE + appYSHeader); + if (StrUtil.isBlank(v)) { + ResponseUtil.out(response, ResponseUtil.resultMap(false, 401, "扛包工登录已失效,请重新登录")); + return null; + } + tokenWorker = new Gson().fromJson(v, TokenWorker.class); + // 权限 + // 重新设置失效时间 + redisTemplate.set(SecurityConstant.WORKER_TOKEN + tokenWorker.getWorkerName() + ":" + tokenWorker.getPlatform(), appYSHeader, appTokenProperties.getTokenExpireTime(), TimeUnit.DAYS); + redisTemplate.set(SecurityConstant.TOKEN_WORKER_PRE + appYSHeader, v, appTokenProperties.getTokenExpireTime(), TimeUnit.DAYS); + } else { + // JWT + try { + // 解析token + Claims claims = Jwts.parser() + .setSigningKey(SecurityConstant.JWT_SIGN_KEY) + .parseClaimsJws(appYSHeader.replace(SecurityConstant.TOKEN_SPLIT, "")) + .getBody(); + // 获取用户 + tokenWorker = new Gson().fromJson(claims.getSubject(), TokenWorker.class); + + } catch (ExpiredJwtException e) { + ResponseUtil.out(response, ResponseUtil.resultMap(false, 401, "登录已失效,请重新登录")); + } catch (Exception e) { + log.error(e.toString()); + ResponseUtil.out(response, ResponseUtil.resultMap(false, 500, "解析token错误")); + } + } + if (tokenWorker != null && StrUtil.isNotBlank(tokenWorker.getWorkerName())) { + return new UsernamePasswordAuthenticationToken(tokenWorker, null, null); + } + return null; + } } diff --git a/hiver-core/src/main/java/cc/hiver/core/dao/WorkerDao.java b/hiver-core/src/main/java/cc/hiver/core/dao/WorkerDao.java index 206af23d..44a2de26 100644 --- a/hiver-core/src/main/java/cc/hiver/core/dao/WorkerDao.java +++ b/hiver-core/src/main/java/cc/hiver/core/dao/WorkerDao.java @@ -6,4 +6,6 @@ import cc.hiver.core.entity.Worker; public interface WorkerDao extends HiverBaseDao { Worker findByMobile(String mobile); + + Worker findByWorkerId(String workerId); } \ No newline at end of file diff --git a/hiver-core/src/main/java/cc/hiver/core/entity/Worker.java b/hiver-core/src/main/java/cc/hiver/core/entity/Worker.java index 3946cdcb..45dfbf3f 100644 --- a/hiver-core/src/main/java/cc/hiver/core/entity/Worker.java +++ b/hiver-core/src/main/java/cc/hiver/core/entity/Worker.java @@ -21,6 +21,7 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @Data @@ -64,14 +65,14 @@ public class Worker implements Serializable { */ @Column(name = "depo_num") @ApiModelProperty("缴押金总额") - private Integer depoNum = 0; + private BigDecimal depoNum = new BigDecimal(0); /** * 押金余额 */ @ApiModelProperty("押金余额") @Column(name = "depo_bal") - private Integer depoBal = 0; + private BigDecimal depoBal = new BigDecimal(0); /** * 接单状态 1-可抢单 2-不可接单(押金不足状态) 3-已禁用(手工预置状态) @@ -155,4 +156,11 @@ public class Worker implements Serializable { @Column(name = "client_Id") private String clientId; + /** + * 扛包扣减固定金额 + */ + @ApiModelProperty("扛包扣减固定金额") + @Column(name = "fixed_amount") + private BigDecimal fixedAmount = new BigDecimal(0); + } diff --git a/hiver-core/src/main/java/cc/hiver/core/service/WorkerService.java b/hiver-core/src/main/java/cc/hiver/core/service/WorkerService.java index 11ab52c1..ef8fbf20 100644 --- a/hiver-core/src/main/java/cc/hiver/core/service/WorkerService.java +++ b/hiver-core/src/main/java/cc/hiver/core/service/WorkerService.java @@ -27,4 +27,7 @@ public interface WorkerService extends HiverBaseService { Worker findByMobile(String mobile); + Worker findByWorkerId(String workerId); + + } diff --git a/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java index 4eb44dbb..d0908d9f 100644 --- a/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java +++ b/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java @@ -99,4 +99,9 @@ public class WorkerServiceImpl implements WorkerService { Worker worker = workerDao.findByMobile(mobile); return worker; } + + @Override + public Worker findByWorkerId(String orderId) { + return workerDao.findByWorkerId(orderId); + } } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/OrderController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/OrderController.java index 818b1147..448c9cee 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/OrderController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/OrderController.java @@ -12,8 +12,11 @@ import cc.hiver.core.common.vo.SearchVo; import cc.hiver.core.entity.Worker; import cc.hiver.core.service.WorkerService; import cc.hiver.mall.entity.OrderXd; +import cc.hiver.mall.entity.Sale; +import cc.hiver.mall.pojo.vo.OrderQueryVO; import cc.hiver.mall.pojo.vo.OrderVO; import cc.hiver.mall.service.OrderService; +import cc.hiver.mall.service.mybatis.SaleService; import cn.hutool.core.date.DateTime; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -28,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.math.BigDecimal; import java.util.List; /** @@ -51,6 +55,8 @@ public class OrderController { @Autowired private WorkerService workerService; + @Autowired + private SaleService saleService; @Autowired private RedisTemplateHelper redisTemplate; @@ -227,4 +233,35 @@ public class OrderController { List list = orderService.findByCondition(orderxd); return new ResultUtil>().setData(list); } + + @RequestMapping(value = "/app/modifyOrder", method = RequestMethod.POST) + @ApiOperation(value = "运送更新订单状态") + public Result modify(@RequestBody OrderQueryVO orderQueryVO) { + int orderStatus = orderQueryVO.getOrderStatus(); + //更新抢单表状态 + if(orderStatus == 4){ + OrderXd orderXd = orderService.findByOrderId(orderQueryVO.getOrderId()); + orderXd.setOrderStatus(orderStatus); + orderService.update(orderXd); + } else if (orderStatus == 5) { + //已完成的话,更新订单表和抢单表状态,扣减金额 + OrderXd orderXd = orderService.findByOrderId(orderQueryVO.getOrderId()); + orderXd.setOrderStatus(orderStatus); + orderService.update(orderXd); + Sale sale = saleService.getById(orderQueryVO.getOrderId()); + sale.setStatus(String.valueOf(orderStatus)); + saleService.saveOrUpdate(sale); + Worker worker = workerService.findById(orderQueryVO.getOrderByWorker()); + BigDecimal fixedAmount = worker.getFixedAmount(); + BigDecimal depoBal = worker.getDepoBal(); + worker.setDepoBal(depoBal.subtract(fixedAmount)); + workerService.update(worker); + + }else{ + return ResultUtil.error("请核实当前订单状态,操作有误"); + } + // 手动更新缓存 + //redisTemplate.delete(WORKER + worker.getWorkerId()); + return ResultUtil.success("更新操作成功"); + } } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java index 963c83b5..ca2c71be 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java @@ -13,6 +13,7 @@ import cc.hiver.mall.pojo.vo.SaleVO; import cc.hiver.mall.service.*; import cc.hiver.mall.service.mybatis.SaleDetailService; import cc.hiver.mall.service.mybatis.SaleService; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -69,15 +70,15 @@ public class SaleController { //3.处理抢单模块 rushOrderService.handleRushOrder(saleDTO); //4.消息推送模块 - sendMessageService.handleSendAppMessage(); + if(StrUtil.isNotEmpty(saleDTO.getOrderByWorker())) + sendMessageService.handleSendAppMessage(saleDTO.getOrderByWorker()); return ResultUtil.success("下单成功"); - } @RequestMapping(value = "/edit", method = RequestMethod.POST) @ApiOperation(value = "根据id修改货品属性") - public Result edit(SaleQueryVO saleQueryVO) { + public Result edit(@RequestBody SaleQueryVO saleQueryVO) { Sale sale = saleQueryVO.getSale(); List saleDetailList = saleQueryVO.getSaleDetailList(); boolean result = saleService.updateById(sale); @@ -94,7 +95,7 @@ public class SaleController { @RequestMapping(value = "/delById", method = RequestMethod.POST) @ApiOperation(value = "根据id删除订单") - public Result delete(Sale sale) { + public Result delete(@RequestBody Sale sale) { boolean result = saleService.removeById(sale); if(result) { QueryWrapper deleteWrapper = new QueryWrapper<>(); @@ -109,7 +110,7 @@ public class SaleController { @RequestMapping(value = "/list", method = RequestMethod.POST) @ApiOperation(value = "根据条件获得分页") - public Result> queryAll(SaleVO saleVO) { + public Result> queryAll(@RequestBody SaleVO saleVO) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (!ObjectUtils.isEmpty(saleVO)){ if (ObjectUtils.isEmpty(saleVO.getPayStatus())) queryWrapper.eq("pay_status",saleVO.getPayStatus()); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerAuthController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerAuthController.java index 5a646fe7..296cd5f5 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerAuthController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerAuthController.java @@ -10,29 +10,22 @@ import cc.hiver.core.common.exception.HiverException; import cc.hiver.core.common.redis.RedisTemplateHelper; import cc.hiver.core.common.sms.SmsUtil; import cc.hiver.core.common.utils.*; -import cc.hiver.core.common.vo.PageVo; import cc.hiver.core.common.vo.Result; -import cc.hiver.core.common.vo.SearchVo; import cc.hiver.core.entity.Worker; import cc.hiver.core.service.WorkerService; import cc.hiver.core.vo.WorkerDetailVO; import cc.hiver.mall.common.constant.WorkerConstant; -import cc.hiver.mall.entity.Recharge; -import cc.hiver.mall.service.RechargeService; import cn.hutool.core.util.StrUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.data.domain.Page; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import javax.validation.Valid; import java.util.concurrent.TimeUnit; /** @@ -66,7 +59,7 @@ public class WorkerAuthController { @ApiOperation(value = "app抢单登录接口") public Result login(@ApiParam("唯一id标识") @PathVariable String workerId, HttpSession httpSession) { - Worker worker = workerService.get(workerId); + Worker worker = workerService.findByWorkerId(workerId); //这儿暂时有bug,启用的时候其实需要判定原状态是启用还是不可接单状态,需要进行逻辑判断 worker.setWorkerStatus(WorkerConstant.WORKER_STATUS_NORMAL); workerService.update(worker); @@ -125,4 +118,13 @@ public class WorkerAuthController { return ResultUtil.success("发送短信验证码成功"); } } + + + @RequestMapping(value = "/app/info/{workerId}", method = RequestMethod.POST) + @ApiOperation(value = "app端查询订单工详情页") + public Result disable(@ApiParam("用户唯一id标识") @PathVariable String workerId) { + Worker worker = workerService.get(workerId); + // 手动更新缓存 + return ResultUtil.data(worker); + } } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java index e5df865d..0caff3f1 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java @@ -1,24 +1,15 @@ package cc.hiver.mall.controller; -import cc.hiver.core.common.annotation.RateLimiter; -import cc.hiver.core.common.annotation.SystemLog; -import cc.hiver.core.common.constant.CommonConstant; -import cc.hiver.core.common.constant.MessageConstant; -import cc.hiver.core.common.constant.SettingConstant; -import cc.hiver.core.common.enums.LogType; -import cc.hiver.core.common.exception.HiverException; -import cc.hiver.core.common.sms.SmsUtil; + import cc.hiver.core.common.utils.*; import cc.hiver.core.entity.Worker; import cc.hiver.core.service.WorkerService; import cc.hiver.mall.common.constant.WorkerConstant; -import cc.hiver.core.common.redis.RedisTemplateHelper; import cc.hiver.core.common.vo.PageVo; import cc.hiver.core.common.vo.Result; import cc.hiver.core.common.vo.SearchVo; import cc.hiver.mall.entity.Recharge; import cc.hiver.mall.service.RechargeService; -import cn.hutool.core.util.StrUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -29,11 +20,8 @@ import org.springframework.data.domain.Page; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; import javax.validation.Valid; -import java.util.Map; -import java.util.concurrent.TimeUnit; +import java.math.BigDecimal; /** * 订单工管理接口 @@ -90,8 +78,8 @@ public class WorkerController { rechargeService.save(recharge); //更新余额,重置当次应缴 - u.setDepoBal(u.getDepoBal() + u.getDepoNum()); - u.setDepoNum(0); + u.setDepoBal(u.getDepoBal().add(u.getDepoNum())); + u.setDepoNum(new BigDecimal(0)); workerService.save(u); @@ -109,7 +97,7 @@ public class WorkerController { public Result edit(Worker u, @RequestParam(required = false) String[] roleIds) { //修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴 - if(u.getDepoNum() != null && u.getDepoNum()>0){ + if(u.getDepoNum() != null && u.getDepoNum().compareTo(BigDecimal.ZERO)>0){ Recharge recharge = new Recharge(); @@ -121,9 +109,9 @@ public class WorkerController { rechargeService.save(recharge); - Worker worker = workerService.findById(u.getWorkerId()); - u.setDepoBal(worker.getDepoBal() + u.getDepoNum()); - u.setDepoNum(0); + Worker worker = workerService.get(u.getWorkerId()); + u.setDepoBal(worker.getDepoBal().add(u.getDepoNum())); + u.setDepoNum(new BigDecimal(0)); } workerService.update(u); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Recharge.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Recharge.java index 80413202..82268068 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Recharge.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Recharge.java @@ -21,6 +21,7 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @Data @@ -71,7 +72,7 @@ public class Recharge implements Serializable { */ @Column(name = "recharge_num") @ApiModelProperty("当次缴纳") - private Integer rechargeNum = 0; + private BigDecimal rechargeNum = new BigDecimal(0); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/OrderQueryVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/OrderQueryVO.java new file mode 100644 index 00000000..1374546b --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/OrderQueryVO.java @@ -0,0 +1,41 @@ +package cc.hiver.mall.pojo.vo; + +import cc.hiver.core.common.utils.SnowFlakeUtil; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import java.io.Serializable; + +@Data +@ApiModel(value = "下单") +public class OrderQueryVO implements Serializable { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("订单号,默认前缀为XD") + private String orderId; + + /** + * 物流方式 + */ + @ApiModelProperty("物流方式 1-物流 2-自提 3-快递 4-拼单") + private String orderLogistics; + + + /** + * 订单状态 + */ + @ApiModelProperty("订单状态 1-拣货中 2-已预定 3-已作废 4-已取货 5-已送达") + private Integer orderStatus; + + + /** + * 抢单工编号 + */ + @ApiModelProperty("抢单工编号") + private String orderByWorker; + +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SendMessageService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SendMessageService.java index 0d6f66e2..a4446fbc 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SendMessageService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SendMessageService.java @@ -2,7 +2,7 @@ package cc.hiver.mall.service; public interface SendMessageService { - void handleSendAppMessage(); + void handleSendAppMessage(String workerId); void handleSendWXMessage(); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SendMessageServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SendMessageServiceImpl.java index 1b15ac20..29ba8ffd 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SendMessageServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SendMessageServiceImpl.java @@ -1,5 +1,7 @@ package cc.hiver.mall.serviceimpl; +import cc.hiver.core.entity.Worker; +import cc.hiver.core.service.WorkerService; import cc.hiver.core.serviceimpl.JPushServiceImpl; import cc.hiver.mall.service.SendMessageService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,10 +13,14 @@ public class SendMessageServiceImpl implements SendMessageService { @Autowired JPushServiceImpl jPushService; + @Autowired + WorkerService workerService; + @Override - public void handleSendAppMessage() { - String registrationId = ""; - String message = "宝贝儿,来订单了"; + public void handleSendAppMessage(String workerId) { + Worker worker = workerService.findById(workerId); + String registrationId = worker.getClientId(); + String message = "您有一笔新的订单,请注意查看"; jPushService.sendPushNotification(registrationId, message); }