diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopInfoController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopInfoController.java index cf037124..38e1aec4 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopInfoController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopInfoController.java @@ -4,6 +4,7 @@ import cn.ysk.cashier.annotation.Log; import cn.ysk.cashier.annotation.rest.AnonymousPostMapping; import cn.ysk.cashier.config.security.security.TokenProvider; import cn.ysk.cashier.config.security.service.OnlineUserService; +import cn.ysk.cashier.dto.BindingDto; import cn.ysk.cashier.dto.shop.TbShopInfoDto; import cn.ysk.cashier.dto.shop.TbShopInfoQueryCriteria; import cn.ysk.cashier.pojo.shop.TbShopInfo; @@ -36,7 +37,12 @@ public class TbShopInfoController { private final TbShopInfoService tbShopInfoService; private final OnlineUserService onlineUserService; private final TokenProvider tokenProvider; - + @PostMapping("binding") + @AnonymousPostMapping("binding") + @ApiOperation("绑定开票信息") + public ResponseEntity binding(@RequestBody BindingDto bindingDto){ + return new ResponseEntity<>(tbShopInfoService.binding(bindingDto), HttpStatus.OK); + } // @Log("导出数据") // @ApiOperation("导出数据") // @GetMapping(value = "/download") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/BindingDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/BindingDto.java new file mode 100644 index 00000000..74d481b8 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/BindingDto.java @@ -0,0 +1,9 @@ +package cn.ysk.cashier.dto; + +import lombok.Data; + +@Data +public class BindingDto { + private Integer shopId; + private String account; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java index 83b4a4b5..e36d3dc4 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java @@ -131,6 +131,10 @@ public class TbMerchantAccount implements Serializable { @ApiModelProperty(value = "操作密码") private String pwd; + @Column(name = "`bind_account`") + @ApiModelProperty(value = "开票系统账号") + private String bindAccount; + public void copy(TbMerchantAccount source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopInfoServiceImpl.java index d7277038..d9ad7880 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopInfoServiceImpl.java @@ -3,8 +3,10 @@ package cn.ysk.cashier.service.impl.shopimpl; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; +import cn.hutool.http.HttpUtil; import cn.ysk.cashier.config.security.security.TokenProvider; import cn.ysk.cashier.config.security.service.UserCacheManager; +import cn.ysk.cashier.dto.BindingDto; import cn.ysk.cashier.dto.shop.TbShopInfoDto; import cn.ysk.cashier.dto.shop.TbShopInfoQueryCriteria; import cn.ysk.cashier.exception.BadRequestException; @@ -28,6 +30,7 @@ import cn.ysk.cashier.system.repository.UserRepository; import cn.ysk.cashier.system.service.ParamsService; import cn.ysk.cashier.system.service.UserService; import cn.ysk.cashier.utils.*; +import com.alibaba.fastjson.JSONObject; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; @@ -86,6 +89,38 @@ public class TbShopInfoServiceImpl implements TbShopInfoService { private final TbShopPayTypeRepository tbShopPayTypeRepository; private final WxService wxService; + @Override + public JSONObject binding(BindingDto bindingDto) { +// TbShopInfo tbShopInfo = tbShopInfoRepository.findById(bindingDto.getShopId()).orElseGet(null); +// TbMerchantAccount account = merchantAccountRepository.findByAccount(tbShopInfo.getAccount()); +// if (org.apache.commons.lang3.StringUtils.isBlank(bindingDto.getAccount())) { +// if (tbShopInfo != null) { +// if (org.apache.commons.lang3.StringUtils.isNotBlank(account.getBindAccount())) { +// bindingDto.setAccount(account.getBindAccount()); +// } else { +// return null; +// } +// } +// } + Map param = new HashMap<>(); + //超掌柜生活-用户端 + param.put("account", bindingDto.getAccount()); + String result = HttpUtil.post("http://test.invoice.sxczgkj.cn/api/cash/binding", param, 5000); + + JSONObject jsonObject = JSONObject.parseObject(result); + if (jsonObject.getInteger("code").equals(1)) { + JSONObject data = jsonObject.getJSONObject("data"); +// if (org.apache.commons.lang3.StringUtils.isNotBlank(bindingDto.getAccount())) { +// String bindAccount = data.getJSONObject("store").getString("account"); +// account.setBindAccount(bindAccount); +// merchantAccountRepository.save(account); +// } + return data; + } else { + throw new BadRequestException(jsonObject.getString("msg")); + } + } + @Override public Map queryAll(TbShopInfoQueryCriteria criteria){ Sort sort = Sort.by(Sort.Direction.DESC, "id"); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopInfoService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopInfoService.java index a45d6309..07a587a6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopInfoService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopInfoService.java @@ -15,9 +15,11 @@ */ package cn.ysk.cashier.service.shop; +import cn.ysk.cashier.dto.BindingDto; import cn.ysk.cashier.pojo.shop.TbShopInfo; import cn.ysk.cashier.dto.shop.TbShopInfoDto; import cn.ysk.cashier.dto.shop.TbShopInfoQueryCriteria; +import com.alibaba.fastjson.JSONObject; import org.springframework.data.domain.Pageable; import java.util.Map; import java.util.List; @@ -32,6 +34,13 @@ import javax.servlet.http.HttpServletResponse; **/ public interface TbShopInfoService { + /** + * 绑定开票信息 + * @param bindingDto + * @return + */ + JSONObject binding(BindingDto bindingDto); + /** * 查询数据分页 * @param criteria 条件