diff --git a/.idea/misc.xml b/.idea/misc.xml index 4b661a5..0405125 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,6 +5,7 @@ diff --git a/admin-hanhai-vue/.env.development b/admin-hanhai-vue/.env.development index 5de5257..d54d59b 100644 --- a/admin-hanhai-vue/.env.development +++ b/admin-hanhai-vue/.env.development @@ -1,5 +1,5 @@ NODE_ENV=development -VUE_APP_API_BASE_URL=http://localhost:8001/employ-api/ +VUE_APP_API_BASE_URL=http://localhost:8081/employ-api/ //VUE_APP_API_BASE_URL=http://localhost:8000/employ-api/ VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview diff --git a/admin-hanhai-vue/.env.production b/admin-hanhai-vue/.env.production index 6ebec34..e391586 100644 --- a/admin-hanhai-vue/.env.production +++ b/admin-hanhai-vue/.env.production @@ -1,5 +1,5 @@ NODE_ENV=production -VUE_APP_API_BASE_URL=http://localhost:8001/employ-api/ +VUE_APP_API_BASE_URL=http://localhost:8081/employ-api/ //VUE_APP_API_BASE_URL=http://localhost:8000/employ-api/ VUE_APP_CAS_BASE_URL=http://localhost:8888/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employOrder/entity/EmployOrder.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employOrder/entity/EmployOrder.java index b9e222c..1bfbe1a 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employOrder/entity/EmployOrder.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employOrder/entity/EmployOrder.java @@ -166,6 +166,24 @@ public class EmployOrder implements Serializable { private java.lang.String companyId; + /**企业支付工薪*/ + @Excel(name = "企业支付工薪", width = 15) + @ApiModelProperty(value = "企业支付工薪") + private java.math.BigDecimal orderNoMoney; + //企业支付方式 + @Excel(name = "企业支付方式", width = 15) + @ApiModelProperty(value = "企业支付方式") + private java.lang.Integer orderType; + /**企业支付微信订单号*/ + @Excel(name = "企业支付微信订单号", width = 15) + @ApiModelProperty(value = "企业支付微信订单号") + private java.lang.String orderNo; + //企业支付状态 + @Excel(name = "企业支付状态", width = 15) + @ApiModelProperty(value = "企业支付状态") + private java.lang.String orderStatus; + + @TableField (exist = false) private EmployJob employJob; diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/OrderController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/OrderController.java index 29f5eb9..9f26918 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/OrderController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/OrderController.java @@ -47,6 +47,14 @@ public class OrderController { return orderService.addOrderWork(token, id); } + + //订单信息-添加订单 + @ApiOperation(value="订单信息-添加订单", notes="订单信息-添加订单") + @RequestMapping(value = "/addOrder", method = {RequestMethod.POST}) + public Result addOrder(@RequestHeader("X-Access-Token")String token, EmployOrder employOrder){ + return orderService.addOrder(token, employOrder); + } + //订单信息-求职信息-立即接单 @ApiOperation(value="订单信息-求职信息-立即接单", notes="订单信息-简历信息-立即聘用") @RequestMapping(value = "/addOrderJob", method = {RequestMethod.POST}) @@ -58,15 +66,51 @@ public class OrderController { //订单信息-立即支付 @ApiOperation(value="订单信息-立即支付", notes="订单信息-立即支付") @RequestMapping(value = "/payOrder", method = {RequestMethod.POST}) - public Result payOrder(@RequestHeader("X-Access-Token")String token, String orderId){ - return orderService.payOrder(token, orderId); + public Result payOrder(@RequestHeader("X-Access-Token")String token, String orderId,Integer payType){ + return orderService.payOrder(token, orderId,payType); } - //订单信息-添加订单 + //订单信息-取消订单 @ApiOperation(value="订单信息-取消订单", notes="订单信息-取消订单") @RequestMapping(value = "/deleteOrder", method = {RequestMethod.POST}) public Result deleteOrder(@RequestHeader("X-Access-Token")String token, String orderId){ return orderService.deleteOrder(token, orderId); } + //订单信息-企业确认订单 + @ApiOperation(value="订单信息-企业确认订单", notes="订单信息-企业确认订单") + @RequestMapping(value = "/confirmOrder", method = {RequestMethod.POST}) + public Result confirmOrder(@RequestHeader("X-Access-Token")String token, String orderId){ + return orderService.confirmOrder(token, orderId); + } + + //订单信息-确认试工完成 + @ApiOperation(value="订单信息-确认试工完成", notes="订单信息-确认试工完成") + @RequestMapping(value = "/confirmOrderTry", method = {RequestMethod.POST}) + public Result confirmOrderTry(@RequestHeader("X-Access-Token")String token, String orderId){ + return orderService.confirmOrderTry(token, orderId); + } + + //订单信息-企业确认试工完成 + @ApiOperation(value="订单信息-企业确认试工完成", notes="订单信息-企业确认试工完成") + @RequestMapping(value = "/confirmOrderTryCompany", method = {RequestMethod.POST}) + public Result confirmOrderTryCompany(@RequestHeader("X-Access-Token")String token, String orderId){ + return orderService.confirmOrderTryCompany(token, orderId); + } + + //企业支付 + @ApiOperation(value="订单信息-企业支付", notes="订单信息-企业支付") + @RequestMapping(value = "/payOrderCompany", method = {RequestMethod.POST}) + public Result payOrderCompany(@RequestHeader("X-Access-Token")String token, String orderId,Integer payType){ + return orderService.payOrderCompany(token, orderId,payType); + } + + //确认企业已结款 + @ApiOperation(value="订单信息-确认企业已结款", notes="订单信息-确认企业已结款") + @RequestMapping(value = "/confirmOrderTryCompanyOk", method = {RequestMethod.POST}) + public Result confirmOrderTryCompanyOk(@RequestHeader("X-Access-Token")String token, String orderId){ + return orderService.confirmOrderTryCompanyOk(token, orderId); + } + + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java index c3e65e9..f10e1b4 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java @@ -24,14 +24,36 @@ public interface OrderService { //订单信息-立即支付 - public Result payOrder(String token, String orderId); + public Result payOrder(String token, String orderId,Integer payType); + //订单信息-增加订单 + public Result addOrder(String token,EmployOrder employOrder); - //订单信息-添加订单 + //订单信息-取消订单 public Result deleteOrder(String token, String orderId); + + //订单信息-企业确认订单 + public Result confirmOrder(String token, String orderId); + + + //订单信息-确认试工完成 + public Result confirmOrderTry(String token, String orderId); + + //订单信息-确认试工通过 + public Result confirmOrderTryCompany(String token, String orderId); + + + //企业支付 + public Result payOrderCompany(String token, String orderId,Integer payType); + + + //确认企业已结款 + public Result confirmOrderTryCompanyOk(String token, String orderId); + + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/AmountServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/AmountServiceImpl.java index a48d25a..a4ec0c6 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/AmountServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/AmountServiceImpl.java @@ -186,7 +186,8 @@ public class AmountServiceImpl implements AmountService { try{ //分页 page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); - LambdaQueryChainWrapper query = employAmountLogService.lambdaQuery(); + LambdaQueryChainWrapper query = employAmountLogService.lambdaQuery() + .eq(EmployAmountLog::getUserId, hanHaiMember.getId()); //金额明细关联用户 query.orderByDesc(EmployAmountLog::getCreateTime); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java index 1a70ccf..90b8d26 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java @@ -7,6 +7,8 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.apiBean.PageBean; import org.jeecg.modules.apiService.OrderService; +import org.jeecg.modules.employAmountLog.entity.EmployAmountLog; +import org.jeecg.modules.employAmountLog.service.IEmployAmountLogService; import org.jeecg.modules.employAuthenticationCompany.entity.EmployAuthenticationCompany; import org.jeecg.modules.employAuthenticationCompany.service.IEmployAuthenticationCompanyService; import org.jeecg.modules.employAuthenticationPerson.entity.EmployAuthenticationPerson; @@ -22,6 +24,7 @@ import org.jeecg.modules.employResume.service.IEmployResumeService; import org.jeecg.modules.employSeek.entity.EmploySeek; import org.jeecg.modules.employSeek.service.IEmploySeekService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.pay.MpWxPayService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,10 +43,16 @@ public class OrderServiceImpl implements OrderService { //权限验证 @Resource private ShiroRealm shiroRealm; + @Resource + private IHanHaiMemberService hanHaiMemberService; @Resource private IEmployOrderService employOrderService; + @Resource + private IEmployAmountLogService employAmountLogService; + + @Resource private IEmployJobService employJobService; @@ -227,25 +236,46 @@ public class OrderServiceImpl implements OrderService { //订单信息-立即支付 @Override - public Result payOrder(String token, String orderId){ + public Result payOrder(String token, String orderId,Integer payType){ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); //根据订单标识查询订单信息 EmployOrder order = employOrderService.getById(orderId); BigDecimal payPrice = order.getPayMoney(); - //吊起微信支付 - String s = payPrice.multiply(new BigDecimal(100)).toString(); - int i1 = Double.valueOf(s).intValue(); - Object appOrder = mpWxPayService.createOrder( - "购买"+order.getTitle(), - "127.0.0.1", - System.currentTimeMillis()+"", - i1, - System.currentTimeMillis()+"", - hanHaiMember.getAppletOpenid(), - order.toString()); - - return Result.OK("支付成功",appOrder); + + if(payType == 1){ + //余额支付 + if(hanHaiMember.getPrice().compareTo(payPrice)==-1){ + return Result.error("余额不足"); + } + hanHaiMember.setPrice(hanHaiMember.getPrice().subtract(payPrice)); + hanHaiMemberService.updateById(hanHaiMember); + //增加金额明细 + EmployAmountLog amountLog = new EmployAmountLog(); + amountLog.setTitle(order.getTitle()); + amountLog.setAmount(payPrice); + amountLog.setType("0"); + amountLog.setUserId(hanHaiMember.getId()); + employAmountLogService.save(amountLog); + + return Result.OK("余额支付成功",order); + }else{ + //吊起微信支付 + String s = payPrice.multiply(new BigDecimal(100)).toString(); + int i1 = Double.valueOf(s).intValue(); + Object appOrder = mpWxPayService.createOrder( + "购买"+order.getTitle(), + "127.0.0.1", + System.currentTimeMillis()+"", + i1, + System.currentTimeMillis()+"", + hanHaiMember.getAppletOpenid(), + order.toString()); + return Result.OK("微信支付成功",appOrder); + } + + + } @@ -257,6 +287,7 @@ public class OrderServiceImpl implements OrderService { public Result addOrderJob(String token, String jobId){ //校验信息 HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + //招聘订单不能为空 if(StringUtils.isBlank(jobId)){ return Result.error("求职订单不能为空"); @@ -270,15 +301,27 @@ public class OrderServiceImpl implements OrderService { String toUser = employSeek.getUserId(); //根据发布人用户标识查询用户的简历信息 EmployResume resume = employResumeService.lambdaQuery().eq(EmployResume::getUserId, toUser).one(); + if(resume==null){ + return Result.error("请先进行个人简历填写"); + } //根据订单里面关联公司标识查询认证信息 EmployAuthenticationCompany company = employAuthenticationCompanyService .lambdaQuery().eq(EmployAuthenticationCompany::getUserId, member.getId()).one(); + //公司信息为空 + if(company==null){ + return Result.error("请先进行公司认证"); + } + //根据订单里面关联个人标识查询认证信息 EmployAuthenticationPerson person = employAuthenticationPersonService .lambdaQuery().eq(EmployAuthenticationPerson::getUserId, member.getId()).one(); + //个人信息为空 + if(person==null){ + return Result.error("请先进行个人认证"); + } //查询该用户是否已经存在订单 EmployOrder order = employOrderService.lambdaQuery() @@ -352,4 +395,131 @@ public class OrderServiceImpl implements OrderService { return Result.OK("取消成功", order); } + + + //订单信息-增加订单 + @Override + public Result addOrder(String token,EmployOrder employOrder) { + //校验信息 + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + if(employOrder==null){ + return Result.error("订单不能为空"); + } + employOrder.setUserId(member.getId()); + employOrderService.save(employOrder); + return Result.OK("添加成功", employOrder); + } + + //订单信息-企业确认订单 + @Override + public Result confirmOrder(String token, String orderId) { + //校验信息 + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + if(StringUtils.isBlank(orderId)){ + return Result.error("订单不能为空"); + } + EmployOrder order = employOrderService.getById(orderId); + if(order==null){ + return Result.error("订单不存在"); + } + if(order.getStatus()>1){ + return Result.error("订单进行,不能确认"); + } + if(order.getStatus()==6){ + return Result.error("订单已经取消,不能确认"); + } + order.setStatus(1); + employOrderService.updateById(order); + return Result.OK("确认成功", order); + } + + + + //订单信息-确认试工完成 + @Override + public Result confirmOrderTry(String token, String orderId){ + //校验信息 + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + EmployOrder order = employOrderService.getById(orderId); + if(order==null){ + return Result.error("订单不存在", null); + } + order.setStatus(2); + employOrderService.updateById(order); + return Result.OK("订单确认成功", order); + + } + + //订单信息-确认试工通过 + @Override + public Result confirmOrderTryCompany(String token, String orderId){ + //校验信息 + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + EmployOrder order = employOrderService.getById(orderId); + if(order==null){ + return Result.error("订单不存在", null); + } + order.setStatus(3); + employOrderService.updateById(order); + return Result.OK("操作成功"); + } + + + //企业支付 + @Override + public Result payOrderCompany(String token, String orderId,Integer payType){ + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + //根据订单标识查询订单信息 + EmployOrder order = employOrderService.getById(orderId); + BigDecimal payPrice = order.getPayMoney(); + + + if(payType == 1){ + //余额支付 + if(hanHaiMember.getPrice().compareTo(payPrice)==-1){ + return Result.error("余额不足"); + } + hanHaiMember.setPrice(hanHaiMember.getPrice().subtract(payPrice)); + hanHaiMemberService.updateById(hanHaiMember); + //增加金额明细 + EmployAmountLog amountLog = new EmployAmountLog(); + amountLog.setTitle(order.getTitle()); + amountLog.setAmount(payPrice); + amountLog.setType("0"); + amountLog.setUserId(hanHaiMember.getId()); + employAmountLogService.save(amountLog); + + //修改订单状态 + order.setStatus(4); + employOrderService.updateById(order); + + return Result.OK("余额支付成功",order); + }else{ + //吊起微信支付 + String s = payPrice.multiply(new BigDecimal(100)).toString(); + int i1 = Double.valueOf(s).intValue(); + Object appOrder = mpWxPayService.createOrder( + "支付"+order.getTitle(), + "127.0.0.1", + System.currentTimeMillis()+"", + i1, + System.currentTimeMillis()+"", + hanHaiMember.getAppletOpenid(), + order.toString()); + return Result.OK("微信支付成功",appOrder); + } + } + + + //确认企业已结款 + @Override + public Result confirmOrderTryCompanyOk(String token, String orderId) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + EmployOrder order = employOrderService.getById(orderId); + //修改订单状态 + order.setStatus(5); + employOrderService.updateById(order); + return Result.ok("确认成功"); + } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/SeekServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/SeekServiceImpl.java index 1441a95..12dc422 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/SeekServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/SeekServiceImpl.java @@ -54,7 +54,9 @@ public class SeekServiceImpl implements SeekService { @Override public Result querySeekList(EmploySeek employSeek, PageBean pageBean){ Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); - Page pageList = employSeekService.lambdaQuery().page(page); + Page pageList = employSeekService.lambdaQuery() + .like(employSeek.getAddress() != null, EmploySeek::getAddress, employSeek.getAddress()) + .page(page); //循环替换数据 List records = pageList.getRecords(); //创建一个新的集合 diff --git a/jeecg-boot-module-system/src/main/resources/application-dev.yml b/jeecg-boot-module-system/src/main/resources/application-dev.yml index 026c3b1..8e0ae6d 100644 --- a/jeecg-boot-module-system/src/main/resources/application-dev.yml +++ b/jeecg-boot-module-system/src/main/resources/application-dev.yml @@ -192,11 +192,11 @@ jeecg : excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** #阿里云oss存储和大鱼短信秘钥配置 oss: - accessKey: LTAI5tPfZo39q2r9Sr5mW84u - secretKey: XxExGallsV4O9nERHpVsQg2XtPCU7r - endpoint: oss-cn-guangzhou.aliyuncs.com - bucketName: augcl - staticDomain: https://img.augcl.com + accessKey: LTAI5t7QjvTcHz9rnULaKuU1 + secretKey: Kc9bnuNK2k9FIMeupHyTLnQX7JjHqj + endpoint: oss-cn-beijing.aliyuncs.com + bucketName: zxltoss + staticDomain: https://oss.zhixuanlietou.com # ElasticSearch 6设置 elasticsearch: cluster-name: jeecg-ES