| @@ -13,7 +13,6 @@ import com.iformall.domain.po.WxMerchant; | |||||
| import com.iformall.enums.EnumDelFlag; | import com.iformall.enums.EnumDelFlag; | ||||
| import com.iformall.enums.EnumYesOrNo; | import com.iformall.enums.EnumYesOrNo; | ||||
| import com.iformall.service.WxBrandService; | import com.iformall.service.WxBrandService; | ||||
| import com.iformall.service.WxMerchantService; | |||||
| import io.swagger.annotations.ApiImplicitParam; | import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiImplicitParams; | import io.swagger.annotations.ApiImplicitParams; | ||||
| import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
| @@ -37,8 +36,6 @@ public class WxBrandController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private WxBrandService wxBrandService; | private WxBrandService wxBrandService; | ||||
| @Autowired | |||||
| private WxMerchantService wxMerchantService; | |||||
| @GetMapping("list") | @GetMapping("list") | ||||
| @@ -82,10 +79,6 @@ public class WxBrandController extends BaseController { | |||||
| wxMerchant.setIsDel(EnumYesOrNo.NO.getCode()); | wxMerchant.setIsDel(EnumYesOrNo.NO.getCode()); | ||||
| wxMerchant.setBrand(wxBrand.getId()); | wxMerchant.setBrand(wxBrand.getId()); | ||||
| List<WxMerchant> merchantList = wxMerchantService.findList(wxMerchant); | |||||
| if(CollectionUtils.isNotEmpty(merchantList)){ | |||||
| return new ResultData(Result.ERROR, "请先删除已绑定该品牌的商户。"); | |||||
| } | |||||
| } | } | ||||
| wxBrandService.update(wxBrand); | wxBrandService.update(wxBrand); | ||||
| return new ResultData(Result.SUCCESS, "操作成功"); | return new ResultData(Result.SUCCESS, "操作成功"); | ||||
| @@ -1,445 +0,0 @@ | |||||
| package com.iformall.controller.basic; | |||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.annotation.SystemControllerLog; | |||||
| import com.iformall.annotation.TenantIgnore; | |||||
| import com.iformall.annotation.UserDataRuleAnnotation; | |||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.WxAppinfo; | |||||
| import com.iformall.domain.po.WxPayAccount; | |||||
| import com.iformall.domain.po.base.BaseEntity; | |||||
| import com.iformall.domain.po.WxMerchant; | |||||
| import com.iformall.domain.po.WxProfitSharingReceiver; | |||||
| import com.iformall.domain.vo.WxMerchantTradeDetailVo; | |||||
| import com.iformall.domain.vo.WxMerchantTradeVo; | |||||
| import com.iformall.domain.vo.WxMerchantVo; | |||||
| import com.iformall.douyin.pay.enums.AppAddSubMerchantUrlType; | |||||
| import com.iformall.enums.*; | |||||
| import com.iformall.service.*; | |||||
| import com.iformall.utils.Constant; | |||||
| import io.swagger.annotations.ApiImplicitParam; | |||||
| import io.swagger.annotations.ApiImplicitParams; | |||||
| import io.swagger.annotations.ApiOperation; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletResponse; | |||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| /** | |||||
| * @author gongbiao | |||||
| */ | |||||
| @RestController | |||||
| @RequestMapping("wxMerchant") | |||||
| public class WxMerchantController extends BaseController { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxMerchantService wxMerchantService; | |||||
| @Autowired | |||||
| private QrCodeService qrCodeService; | |||||
| @Autowired | |||||
| private WxAppinfoService wxAppinfoService; | |||||
| @Autowired | |||||
| private WxPayAccountService payAccountService; | |||||
| @Autowired | |||||
| private WxProfitSharingReceiverService wxProfitSharingReceiverService; | |||||
| @UserDataRuleAnnotation("merchant_list") | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("listVo") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData listVo(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| wxMerchant.setIsPrivate(EnumYesOrNo.NO.getCode()); | |||||
| final PageInfo<WxMerchant> page = wxMerchantService.listVoAsPage(wxMerchant, pageNum, pageSize,true); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @UserDataRuleAnnotation("merchant_list") | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("listVo2") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData listVo2(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| wxMerchant.setIsPrivate(EnumYesOrNo.NO.getCode()); | |||||
| final PageInfo<WxMerchant> page = wxMerchantService.listVoAsPage(wxMerchant, pageNum, pageSize,false); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("list") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||||
| }) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData list(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| wxMerchant.setIsPrivate(EnumYesOrNo.NO.getCode()); | |||||
| final PageInfo<WxMerchant> page = wxMerchantService.listAsPage(wxMerchant, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @TenantIgnore | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("parentList") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||||
| }) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData parentList(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::parentList"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| String tenantId = getUser().getTenantId(); | |||||
| // wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setParentTenantId(tenantId); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| wxMerchant.setIsPrivate(EnumYesOrNo.NO.getCode()); | |||||
| final PageInfo<WxMerchant> page = wxMerchantService.listAsPage(wxMerchant, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("获取商管商户") | |||||
| @GetMapping("adminMerchantOne") | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData adminMerchantOne() { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::adminMerchantOne"); | |||||
| WxMerchant wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); | |||||
| wxMerchant.setIsAdmin(EnumMerchantAdmin.PUBLIC_ADMIN.getCode()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| List<WxMerchant> list = wxMerchantService.findList(wxMerchant); | |||||
| if(list == null || list.isEmpty()){ | |||||
| return new ResultData(ErrorCode.SYS_NULLPOINTER_ERROR.getCode(),"未找到商管商户"); | |||||
| } | |||||
| return new ResultData(list.get(0)); | |||||
| } | |||||
| @ApiOperation("获取商户ID,名称接口") | |||||
| @GetMapping("IdAndNamelist") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "type", value = "类型", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true) | |||||
| }) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData IdAndNamelist(Integer type,Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); | |||||
| WxMerchant wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); | |||||
| wxMerchant.setType(type); | |||||
| wxMerchant.setCarVendorType(0); | |||||
| return new ResultData(wxMerchantService.queryIdAndNames(wxMerchant)); | |||||
| } | |||||
| @ApiOperation("ETCP商户列表") | |||||
| @GetMapping("etcplist") | |||||
| @SystemControllerLog(description = "商户-ETCP商户列表") | |||||
| public ResultData etcpList(@ModelAttribute WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::etcpList"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| final List<WxMerchant> merchantList = wxMerchantService.etcpList(wxMerchant); | |||||
| return new ResultData(merchantList); | |||||
| } | |||||
| @ApiOperation("根据id删除接口") | |||||
| @GetMapping("/del") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "商户-删除") | |||||
| public ResultData delete(Long id) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::delete"); | |||||
| wxMerchantService.deleteById(id); | |||||
| return new ResultData(Result.SUCCESS, "删除成功", null); | |||||
| } | |||||
| @ApiOperation("根据id查询接口") | |||||
| @GetMapping("/findById") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "商户-查询") | |||||
| public ResultData findById(Long id) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::findById"); | |||||
| WxMerchant wxMerchant = wxMerchantService.getById(id); | |||||
| return new ResultData(wxMerchant); | |||||
| } | |||||
| @ApiOperation("停用") | |||||
| @GetMapping("disable") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "商户-停用") | |||||
| public ResultData disable(Long id) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::disable"); | |||||
| wxMerchantService.disable(id); | |||||
| return new ResultData(Result.SUCCESS, "停用成功"); | |||||
| } | |||||
| @ApiOperation("新增商户接口") | |||||
| @PostMapping("addMerchant") | |||||
| @SystemControllerLog(description = "商户-新增") | |||||
| public ResultData addMerchant(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::addMerchant"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId()); | |||||
| if(resultData.code == 200){ | |||||
| wxMerchantService.updateQrCode(wxMerchant,wxMerchant.getId()); | |||||
| } | |||||
| return resultData; | |||||
| } | |||||
| @ApiOperation("更新商户接口") | |||||
| @PostMapping("updateMerchant") | |||||
| @SystemControllerLog(description = "商户-更新") | |||||
| public ResultData updateMerchant(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchant"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| return wxMerchantService.updateMerchant(wxMerchant); | |||||
| } | |||||
| // @ApiOperation("更新账户接口") | |||||
| // @PostMapping("updateMerchantAccount") | |||||
| // @SystemControllerLog(description = "商户-更新账户") | |||||
| // public ResultData updateMerchantAccount(@RequestBody WxMerchant wxMerchant) { | |||||
| // logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantAccount"); | |||||
| // wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| // return wxMerchantService.updateMerchantAccount(wxMerchant,EnumPayWay.PAY_WAY_WECHAT); | |||||
| // } | |||||
| @ApiOperation("更新管理员接口") | |||||
| @PostMapping("updateMerchantAdmin") | |||||
| @SystemControllerLog(description = "商户-更新管理员") | |||||
| public ResultData updateMerchantAdmin(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantAdmin"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| return wxMerchantService.updateMerchantAdmin(wxMerchant); | |||||
| } | |||||
| @ApiOperation("更新法人接口") | |||||
| @PostMapping("updateMerchantCorp") | |||||
| @SystemControllerLog(description = "商户-更新法人") | |||||
| public ResultData updateMerchantCopr(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantCorp"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| return wxMerchantService.updateMerchantCorp(wxMerchant); | |||||
| } | |||||
| @ApiOperation("更新税务接口") | |||||
| @PostMapping("updateMerchantTax") | |||||
| @SystemControllerLog(description = "商户-更新税务") | |||||
| public ResultData updateMerchantTax(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantTax"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| return wxMerchantService.updateMerchantTax(wxMerchant); | |||||
| } | |||||
| @ApiOperation("商户信息设置接口") | |||||
| @PostMapping("updateMerchantLevel") | |||||
| @SystemControllerLog(description = "商户-更新会员等级权益") | |||||
| public ResultData updateMerchantLevel(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantLevel"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| return wxMerchantService.updateMerchantLevel(wxMerchant); | |||||
| } | |||||
| @ApiOperation("查询当前租户下商户名称列表") | |||||
| @GetMapping("/name_list") | |||||
| @SystemControllerLog(description = "查询当前租户下商户名称列表") | |||||
| public ResultData nameList() { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::name_list"); | |||||
| return new ResultData(wxMerchantService.findList(getTenantInfo())); | |||||
| } | |||||
| @ApiOperation("根据id查询接口") | |||||
| @GetMapping("/findMerchantById") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "商户-查询") | |||||
| public ResultData findMerchantById(Long id) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::findMerchantById"); | |||||
| WxMerchantVo wxMerchant = wxMerchantService.findMerchantById(getTenantInfo(),id); | |||||
| return new ResultData(wxMerchant); | |||||
| } | |||||
| @UserDataRuleAnnotation("merchant_list") | |||||
| @ApiOperation("商户数据导出") | |||||
| @GetMapping("/exportData") | |||||
| @SystemControllerLog(description = "商户-商户数据导出") | |||||
| public void exportData(@ModelAttribute WxMerchant wxMerchant, HttpServletRequest request, HttpServletResponse response) { | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| wxMerchant.setIsPrivate(EnumYesOrNo.NO.getCode()); | |||||
| wxMerchantService.exportData(wxMerchant,request,response); | |||||
| } | |||||
| @ApiOperation("置顶") | |||||
| @PostMapping("top") | |||||
| @SystemControllerLog(description = "商户-置顶") | |||||
| public ResultData top(@RequestBody WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::top"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| return wxMerchantService.top(wxMerchant); | |||||
| } | |||||
| // @ApiOperation("更新收款账户状态") | |||||
| // @PostMapping("useAccount") | |||||
| // @SystemControllerLog(description = "商户-更新收款账户状态") | |||||
| // public ResultData useAccount(@RequestBody WxProfitSharingReceiver wxProfitSharingReceiver) { | |||||
| // logger.debug("[" + getIpAddr() + "] WxMerchantController::useAccount"); | |||||
| // wxProfitSharingReceiver.updateTenantInfo(getTenantInfo()); | |||||
| // return wxMerchantService.useAccount(wxProfitSharingReceiver); | |||||
| // } | |||||
| @ApiOperation("查看是否存在商户名称相同记录") | |||||
| @GetMapping("/hasMerchant") | |||||
| @SystemControllerLog(description = "商户-查看是否存在商户名称相同记录") | |||||
| public ResultData hasMerchant(@ModelAttribute WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::hasMerchant"); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| boolean has = wxMerchantService.hasMerchant(wxMerchant); | |||||
| return new ResultData(has); | |||||
| } | |||||
| @ApiOperation("查看是否存在商户名称相同记录") | |||||
| @GetMapping("/hasMerchantEncode") | |||||
| @SystemControllerLog(description = "商户-查看是否存在商户编码相同记录") | |||||
| @TenantIgnore | |||||
| public ResultData hasMerchantEncode(@ModelAttribute WxMerchant wxMerchant) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::hasMerchantEncode{}"+wxMerchant.toString()); | |||||
| boolean has = wxMerchantService.hasMerchantEncode(wxMerchant); | |||||
| return new ResultData(has); | |||||
| } | |||||
| @ApiOperation("商户会员消费分页列表接口") | |||||
| @GetMapping("userTradeList") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "商户-消费列表") | |||||
| public ResultData userTradeList(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchant.setSortColumns(BaseEntity.SortField.TopTime_DESC); | |||||
| final PageInfo<WxMerchantTradeVo> page = wxMerchantService.userTradeList(wxMerchant, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("商户会员消费明细列表接口") | |||||
| @GetMapping("userTradeDetailList") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "商户-商户会员消费明细列表接口") | |||||
| public ResultData userTradeDetailList(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| final PageInfo<WxMerchantTradeDetailVo> page = wxMerchantService.userTradeDetailList(wxMerchant, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("导出商户会员消费分页列表") | |||||
| @GetMapping("exportUserTradeDetailList") | |||||
| @SystemControllerLog(description = "导出商户会员消费分页列表") | |||||
| public void exportUserTradeList(@ModelAttribute WxMerchant wxMerchant,HttpServletRequest request, HttpServletResponse response) throws Exception{ | |||||
| logger.debug("[" + getIpAddr() + "] WxBusinessController::exportUserTradeDetailList"); | |||||
| if (null == wxMerchant) wxMerchant = new WxMerchant(); | |||||
| wxMerchant.updateTenantInfo(getTenantInfo()); | |||||
| wxMerchantService.exportUserTradeList(wxMerchant, request,response); | |||||
| } | |||||
| @ApiOperation("刷新进件页面") | |||||
| @GetMapping("/updateTtReceiver") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "商户-删除") | |||||
| public ResultData updateTtReceiver(Long id) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::updateTtReceiver"); | |||||
| WxMerchant merchant = wxMerchantService.selectById(id); | |||||
| if(merchant == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"请检查传递参数"); | |||||
| } | |||||
| return wxProfitSharingReceiverService.updateTtReceiver(merchant); | |||||
| } | |||||
| @ApiOperation("获取进件/余额页面") | |||||
| @GetMapping("/getTtReceiverUrl") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| public ResultData getTtReceiver(Long id,Integer urlType) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::getTtReceiver"); | |||||
| if(urlType == null || id == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请检查传递参数"); | |||||
| } | |||||
| WxMerchant merchant = wxMerchantService.selectById(id); | |||||
| if(merchant == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"请检查传递参数"); | |||||
| } | |||||
| AppAddSubMerchantUrlType anEnum = AppAddSubMerchantUrlType.getEnum(urlType); | |||||
| if(anEnum == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"请检查传递参数"); | |||||
| } | |||||
| if(anEnum.equals(AppAddSubMerchantUrlType.improt_URL)){ | |||||
| return wxProfitSharingReceiverService.getTtReceiverImprotURL(merchant); | |||||
| }else if(anEnum.equals(AppAddSubMerchantUrlType.Balance_URL)){ | |||||
| return wxProfitSharingReceiverService.getTtReceiverBalanceURL(merchant); | |||||
| }else{ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"请检查传递参数"); | |||||
| } | |||||
| } | |||||
| @ApiOperation("修改可用状态") | |||||
| @GetMapping("/updateTtReceiverIsUse") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "商户-删除") | |||||
| public ResultData updateTtReceiverIsUse(Long id) { | |||||
| WxMerchant merchant = wxMerchantService.selectById(id); | |||||
| if(merchant == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"请检查传递参数"); | |||||
| } | |||||
| WxAppinfo appInfo = wxAppinfoService.getCAppInfo(getTenantInfo(), EnumAppPlat.TOUTIAO); | |||||
| if(appInfo == null) { | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | |||||
| } | |||||
| WxPayAccount payAcount = payAccountService.getById(appInfo.getPayId()); | |||||
| if(payAcount == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | |||||
| } | |||||
| return wxProfitSharingReceiverService.updateTtReceiverIsUse(merchant); | |||||
| } | |||||
| } | |||||
| @@ -1,130 +0,0 @@ | |||||
| package com.iformall.controller.basic; | |||||
| import com.alibaba.fastjson.JSON; | |||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.annotation.SystemControllerLog; | |||||
| import com.iformall.annotation.TenantIgnore; | |||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.WxMerchant; | |||||
| import com.iformall.domain.po.WxProfitSharingReceiver; | |||||
| import com.iformall.domain.po.WxProfitSharingReceiverApply; | |||||
| import com.iformall.domain.po.base.BaseEntity; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.vo.WxMerchantReceiverApplyVo; | |||||
| import com.iformall.douyin.pay.enums.MerchantImportStatus; | |||||
| import com.iformall.enums.*; | |||||
| import com.iformall.exception.MallinkException; | |||||
| import com.iformall.file.aliyun.AliyunOSS; | |||||
| import com.iformall.service.WxMerchantService; | |||||
| import com.iformall.service.WxProfitSharingReceiverApplyService; | |||||
| import com.iformall.service.WxProfitSharingReceiverService; | |||||
| 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.apache.commons.codec.binary.Base64; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| import javax.servlet.http.HttpServletResponse; | |||||
| import java.io.ByteArrayInputStream; | |||||
| import java.io.UnsupportedEncodingException; | |||||
| import java.util.HashMap; | |||||
| import java.util.Map; | |||||
| @RestController | |||||
| @RequestMapping("sharingReceiverApply") | |||||
| @Api(description = "进件相关接口") | |||||
| @Slf4j | |||||
| public class WxProfitSharingReceiverApplyController extends BaseController { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxProfitSharingReceiverApplyService wxProfitSharingReceiverApplyService; | |||||
| @Autowired | |||||
| private WxProfitSharingReceiverService wxProfitSharingReceiverService; | |||||
| @Autowired | |||||
| private WxMerchantService wxMerchantService; | |||||
| @Autowired | |||||
| private AliyunOSS aliyunOSS; | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("listVo") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||||
| }) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData listVo(WxMerchantReceiverApplyVo receiver, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::listVo"); | |||||
| if (null == receiver) receiver = new WxMerchantReceiverApplyVo(); | |||||
| receiver.updateTenantInfo(getTenantInfo()); | |||||
| final PageInfo<WxMerchantReceiverApplyVo> page = wxProfitSharingReceiverApplyService.listVoAsPage(receiver, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @TenantIgnore | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("tenantListVo") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||||
| }) | |||||
| @SystemControllerLog(description = "商户-列表") | |||||
| public ResultData tenantListVo(WxMerchantReceiverApplyVo receiver, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxMerchantController::tenantListVo"); | |||||
| if (null == receiver) receiver = new WxMerchantReceiverApplyVo(); | |||||
| final PageInfo<WxMerchantReceiverApplyVo> page = wxProfitSharingReceiverApplyService.listVoAsPage(receiver, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @TenantIgnore | |||||
| @ApiOperation("修改功能状态") | |||||
| @PostMapping("/updateFunctionState") | |||||
| @SystemControllerLog(description = "修改") | |||||
| public ResultData updateFunctionState(@RequestBody WxProfitSharingReceiverApply receiverAdd) { | |||||
| log.debug("[" + getIpAddr() + "] merchantProfitSharingReceiver::updateFunctionState"); | |||||
| if(receiverAdd.getId() == null || receiverAdd.getFunctionState() == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| WxProfitSharingReceiverApply receiverApply = wxProfitSharingReceiverApplyService.selectById(receiverAdd.getId()); | |||||
| if(receiverApply == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到进件数据"); | |||||
| } | |||||
| if(!EnumSharingReceiverApplymentState.APPLYMENT_STATE_FINISHED.getCode().equals(receiverApply.getApplymentState())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "进件还未完成"); | |||||
| } | |||||
| receiverAdd.updateTenantInfo(receiverApply); | |||||
| return wxProfitSharingReceiverApplyService.updateFunctionState(receiverAdd); | |||||
| } | |||||
| @TenantIgnore | |||||
| @ApiOperation("刷新审核状态") | |||||
| @GetMapping("/syncApplymentStates") | |||||
| @SystemControllerLog(description = "刷新") | |||||
| public ResultData syncApplymentStates(Long id) { | |||||
| log.debug("[" + getIpAddr() + "] merchantProfitSharingReceiver::syncApplymentStates"); | |||||
| if(id == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "ID不能为空"); | |||||
| } | |||||
| WxProfitSharingReceiverApply receiverApply = wxProfitSharingReceiverApplyService.findResultStateById(id); | |||||
| if(receiverApply == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到进件数据"); | |||||
| } | |||||
| return wxProfitSharingReceiverApplyService.handApplymentStates(receiverApply); | |||||
| } | |||||
| } | |||||
| @@ -1,104 +0,0 @@ | |||||
| package com.iformall.controller.market; | |||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.base.BaseEntity.SortField; | |||||
| import com.iformall.enums.EnumCashOutStatus; | |||||
| import com.iformall.enums.EnumPayWay; | |||||
| import com.iformall.service.*; | |||||
| import io.swagger.annotations.Api; | |||||
| import io.swagger.annotations.ApiImplicitParam; | |||||
| import io.swagger.annotations.ApiImplicitParams; | |||||
| import io.swagger.annotations.ApiOperation; | |||||
| import java.util.ArrayList; | |||||
| import java.util.HashMap; | |||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| /** | |||||
| * 提现。微信需要小程序开通“企业付款到零钱”功能。 | |||||
| * @author alascor | |||||
| * | |||||
| */ | |||||
| @RestController | |||||
| @RequestMapping("/cashout") | |||||
| @Api(description = "提现相关接口") | |||||
| public class WxCashOutController extends BaseController { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxCashOutService wxCashOutService; | |||||
| @Autowired | |||||
| WxCUserService wxCUserService; | |||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Autowired | |||||
| WxMallService wxMallService; | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("list") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| public ResultData list(@ModelAttribute WxCashOut wxCashOut, Integer pageNum, Integer pageSize) { | |||||
| if (null == wxCashOut) wxCashOut = new WxCashOut(); | |||||
| TenantEntity tenantInfo = getTenantInfo(); | |||||
| wxCashOut.updateTenantInfo(tenantInfo); | |||||
| if (null != wxCashOut.getStatus() && wxCashOut.getStatus().intValue()>0) { | |||||
| //提现中 | |||||
| List<Integer> statusList = new ArrayList<Integer>(); | |||||
| if (wxCashOut.getStatus().intValue()==99) { | |||||
| statusList.add(EnumCashOutStatus.DOING.getCode()); | |||||
| statusList.add(EnumCashOutStatus.WAITING.getCode()); | |||||
| wxCashOut.setStatusList(statusList); | |||||
| wxCashOut.setStatus(null); | |||||
| //提现成功 | |||||
| }else if (wxCashOut.getStatus().intValue()==98) { | |||||
| statusList.add(EnumCashOutStatus.SUCCESS.getCode()); | |||||
| wxCashOut.setStatusList(statusList); | |||||
| wxCashOut.setStatus(null); | |||||
| //提现失败 | |||||
| }else if (wxCashOut.getStatus().intValue()==97) { | |||||
| statusList.add(EnumCashOutStatus.FAIL.getCode()); | |||||
| statusList.add(EnumCashOutStatus.BACK.getCode()); | |||||
| wxCashOut.setStatusList(statusList); | |||||
| wxCashOut.setStatus(null); | |||||
| //提现拒绝 | |||||
| }else if (wxCashOut.getStatus().intValue()==96) { | |||||
| statusList.add(EnumCashOutStatus.REJECT.getCode()); | |||||
| wxCashOut.setStatusList(statusList); | |||||
| wxCashOut.setStatus(null); | |||||
| //审批中 | |||||
| }else if (wxCashOut.getStatus().intValue()==95) { | |||||
| statusList.add(EnumCashOutStatus.AUDIOING.getCode()); | |||||
| wxCashOut.setStatusList(statusList); | |||||
| wxCashOut.setStatus(null); | |||||
| } | |||||
| }else { | |||||
| wxCashOut.setStatus(null); | |||||
| } | |||||
| wxCashOut.setSortColumns(SortField.CreateDate_DESC); | |||||
| final PageInfo<WxCashOut> page = wxCashOutService.listAsPage(wxCashOut, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("查询当前提现信息") | |||||
| @GetMapping("getInfo") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) | |||||
| public ResultData getCurrentCashOutData(Long id) { | |||||
| TenantEntity tenantInfo = getTenantInfo(); | |||||
| WxCashOut out = wxCashOutService.getById(id, tenantInfo.getTenantId()); | |||||
| return new ResultData(out); | |||||
| } | |||||
| } | |||||
| @@ -1,200 +0,0 @@ | |||||
| package com.iformall.controller.mem; | |||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.annotation.SystemControllerLog; | |||||
| import com.iformall.annotation.TenantIgnore; | |||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.MallUserInfo; | |||||
| import com.iformall.domain.po.WxCreditHistory; | |||||
| import com.iformall.domain.po.WxMerchant; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.vo.MerchantCreditRankingVo; | |||||
| import com.iformall.domain.vo.WxCreditHistoryVo; | |||||
| import com.iformall.enums.EnumMerchantStatus; | |||||
| import com.iformall.enums.EnumScoreType; | |||||
| import com.iformall.enums.EnumUserType; | |||||
| import com.iformall.exception.MallinkException; | |||||
| import com.iformall.service.WxCreditHistoryService; | |||||
| import com.iformall.service.WxMerchantService; | |||||
| import io.swagger.annotations.ApiImplicitParam; | |||||
| import io.swagger.annotations.ApiImplicitParams; | |||||
| import io.swagger.annotations.ApiOperation; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletResponse; | |||||
| import java.util.Map; | |||||
| import java.util.Objects; | |||||
| @RestController | |||||
| @RequestMapping("wxCreditHistory") | |||||
| public class WxCreditHistoryController extends BaseController { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| WxCreditHistoryService wxCreditHistoryService; | |||||
| @Autowired | |||||
| private WxMerchantService wxMerchantService; | |||||
| @ApiOperation("分页列表接口") | |||||
| @GetMapping("list") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "积分历史-列表") | |||||
| public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::list"); | |||||
| if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); | |||||
| TenantEntity tenantInfo = getTenantInfo(); | |||||
| wxCreditHistory.updateTenantInfo(tenantInfo); | |||||
| final PageInfo<WxCreditHistoryVo> page = wxCreditHistoryService.listAsPageMore(wxCreditHistory, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("根据商户ID和消费金额获取所增加积分 取data里credit的值") | |||||
| @GetMapping("findByMerchantIdAndSpend") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "merchantId", value = "商户ID", dataType = "long", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "spend", value = "消费金额", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "userId", value = "会员Id", dataType = "long", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "积分历史-根据商户ID和消费金额获取所增加积分") | |||||
| public ResultData findByMerchantIdAndSpend(Long merchantId, String spendStr,Long userId) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::findByMerchantIdAndSpend"); | |||||
| if(Objects.isNull(merchantId)|| StringUtils.isEmpty(spendStr)||Objects.isNull(userId)) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; | |||||
| } | |||||
| try { | |||||
| Map<String, Integer> result = wxCreditHistoryService.findByMerchantIdAndSpend(merchantId, spendStr, userId) ; | |||||
| return new ResultData(result); | |||||
| } catch (MallinkException e) { | |||||
| return new ResultData(e.getErrorCode(),e.getMessage()); | |||||
| } catch (Exception e) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,e.getMessage()); | |||||
| } | |||||
| } | |||||
| @ApiOperation("新增接口") | |||||
| @PostMapping("add") | |||||
| @SystemControllerLog(description = "积分历史-新增接口") | |||||
| public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::add"); | |||||
| MallUserInfo user = getUser(); | |||||
| wxCreditHistory.setTenantId(user.getFinalTenantId()); | |||||
| wxCreditHistory.setFinalTenantId(user.getFinalTenantId()); | |||||
| wxCreditHistory.setOperatorId(user.getId()); | |||||
| wxCreditHistory.setOperatorType(EnumUserType.MALLUSER.getCode()); | |||||
| String desc = ""; | |||||
| if(wxCreditHistory.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())){ | |||||
| WxMerchant byId = wxMerchantService.getById(wxCreditHistory.getMerchantId()); | |||||
| desc = "管理端手动积分:消费商户["+byId.getName()+"] 消费金额["+wxCreditHistory.getSpendStr()+"元]"; | |||||
| }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.REDUCE_CREDIT.getCode())){ | |||||
| desc = "管理端手动扣减积分"; | |||||
| if(StringUtils.isNotBlank(wxCreditHistory.getChangePurpose())){ | |||||
| desc = desc + "["+wxCreditHistory.getChangePurpose()+"]"; | |||||
| } | |||||
| }else{ | |||||
| desc = "管理端("+user.getUsername()+")操作未知积分来源"; | |||||
| } | |||||
| wxCreditHistory.setChangePurpose(desc); | |||||
| try { | |||||
| wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),getTenantInfo()) ; | |||||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,getTenantInfo().getTenantId()); | |||||
| return new ResultData(Result.SUCCESS, "操作成功", credit); | |||||
| } catch (MallinkException e) { | |||||
| logger.error(e.getMessage()); | |||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | |||||
| } | |||||
| } | |||||
| @ApiOperation("根据id查询接口") | |||||
| @GetMapping("/findById") | |||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||||
| @SystemControllerLog(description = "积分历史-查询") | |||||
| public ResultData findById(Long id) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::findById"); | |||||
| return new ResultData(Result.SUCCESS, "查询成功", wxCreditHistoryService.getById(id,getTenantInfo().getFinalTenantId())); | |||||
| } | |||||
| /** | |||||
| * 根据A端设置的【每自然年末扣除前N年用户积分】规则,扣减用户积分 | |||||
| * | |||||
| * @return | |||||
| */ | |||||
| public ResultData clearCreditByYear() { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::clearCreditByYear"); | |||||
| wxCreditHistoryService.clearCreditByYear(); | |||||
| return new ResultData(Result.SUCCESS); | |||||
| } | |||||
| @GetMapping("exportData") | |||||
| @SystemControllerLog(description = "积分历史-导出数据") | |||||
| public void exportData(@ModelAttribute WxCreditHistory wxCreditHistory, HttpServletRequest request, HttpServletResponse response) { | |||||
| wxCreditHistory.setTenantId(getTenantInfo().getFinalTenantId()); | |||||
| wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); | |||||
| wxCreditHistoryService.exportData(request, response, wxCreditHistory); | |||||
| } | |||||
| @ApiOperation("积分统计概览") | |||||
| @GetMapping("getCreditSummary") | |||||
| @SystemControllerLog(description = "积分历史-积分统计概览") | |||||
| public ResultData getCreditSummary(@ModelAttribute WxCreditHistory wxCreditHistory) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::getCreditSummary"); | |||||
| TenantEntity tenantInfo = getTenantInfo(); | |||||
| wxCreditHistory.updateTenantInfo(tenantInfo); | |||||
| return wxCreditHistoryService.getCreditSummary(wxCreditHistory); | |||||
| } | |||||
| @ApiOperation("积分清零计划") | |||||
| @PostMapping("clearCreditByYear") | |||||
| @SystemControllerLog(description = "积分清零计划") | |||||
| @TenantIgnore | |||||
| public ResultData clearCreditByYear(@RequestBody WxCreditHistory wxCreditHistory) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::clearCreditByYear"); | |||||
| if(wxCreditHistory == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; | |||||
| } | |||||
| if(StringUtils.isBlank(wxCreditHistory.getFinalTenantId())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; | |||||
| } | |||||
| wxCreditHistoryService.clearCreditByYear(wxCreditHistory); | |||||
| return new ResultData(Result.SUCCESS); | |||||
| } | |||||
| @ApiOperation("积分清零计划 刷新商圈积分") | |||||
| @PostMapping("syncClearCredit") | |||||
| @SystemControllerLog(description = "刷新商圈积分") | |||||
| @TenantIgnore | |||||
| public ResultData syncClearCredit() { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::syncClearCredit"); | |||||
| wxCreditHistoryService.syncClearCredit(getTenantInfo()); | |||||
| return new ResultData(Result.SUCCESS); | |||||
| } | |||||
| @ApiOperation("门店排行榜") | |||||
| @GetMapping("merchantCreditRanking") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "、-列表") | |||||
| public ResultData merchantCreditRanking(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::merchantCreditRanking"); | |||||
| if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); | |||||
| TenantEntity tenantInfo = getTenantInfo(); | |||||
| wxCreditHistory.updateTenantInfo(tenantInfo); | |||||
| final PageInfo<MerchantCreditRankingVo> page = wxCreditHistoryService.listAsPageMcrv(wxCreditHistory, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| } | |||||
| @@ -1,211 +0,0 @@ | |||||
| package com.iformall.service; | |||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.dto.WxMerchantDto; | |||||
| import com.iformall.domain.po.WxCoupon; | |||||
| import com.iformall.domain.po.WxMerchantCorp; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.WxMerchant; | |||||
| import com.iformall.domain.po.WxProfitSharingReceiver; | |||||
| import com.iformall.domain.vo.WxMerchantSimpleVo; | |||||
| import com.iformall.domain.vo.WxMerchantTradeDetailVo; | |||||
| import com.iformall.domain.vo.WxMerchantTradeVo; | |||||
| import com.iformall.domain.vo.WxMerchantVo; | |||||
| import com.iformall.enums.EnumPayWay; | |||||
| import org.apache.ibatis.annotations.Param; | |||||
| import org.springframework.web.bind.annotation.ModelAttribute; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletResponse; | |||||
| import java.util.HashMap; | |||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| import java.util.Optional; | |||||
| /** | |||||
| * @author gongbiao | |||||
| */ | |||||
| public interface WxMerchantService { | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | |||||
| */ | |||||
| PageInfo<WxMerchantTradeDetailVo> userTradeDetailList(WxMerchant record, Integer pageIndex, Integer pageSize); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | |||||
| */ | |||||
| PageInfo<WxMerchantTradeVo> userTradeList(WxMerchant record, Integer pageIndex, Integer pageSize); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @return | |||||
| */ | |||||
| void exportUserTradeList(@ModelAttribute WxMerchant record, HttpServletRequest request, HttpServletResponse response); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | |||||
| */ | |||||
| PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize); | |||||
| List<WxMerchant> queryIdAndNames(WxMerchant record); | |||||
| Map<Long,String> getIdAndNamesMap(WxMerchant record); | |||||
| PageInfo<WxMerchantVo> listAsPageCVo(WxMerchantDto wxMerchantDto, Integer pageIndex, Integer pageSize,boolean hasShop); | |||||
| /** | |||||
| * 根据code查询 | |||||
| * | |||||
| * @param params | |||||
| * @return | |||||
| */ | |||||
| WxMerchantVo getMerchantInfo(HashMap<String, String> params); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<WxMerchant> etcpList(WxMerchant record); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<WxMerchant> findList(WxMerchant record); | |||||
| /** | |||||
| * 根据商管商户 | |||||
| * | |||||
| * @param tenantEntity | |||||
| * @return | |||||
| */ | |||||
| List<WxMerchant> findAdminList(TenantEntity tenantEntity); | |||||
| /** | |||||
| * 查询商户列表 | |||||
| * @param tenantEntity | |||||
| * @return | |||||
| */ | |||||
| List<WxMerchantSimpleVo> findList(TenantEntity tenantEntity); | |||||
| /** | |||||
| * 根据Id获得实体 | |||||
| * | |||||
| * @param id | |||||
| * @return | |||||
| */ | |||||
| WxMerchant selectById(Long id); | |||||
| WxMerchant getById(Long id); | |||||
| /** | |||||
| * 根据Id删除实体 | |||||
| * | |||||
| * @param id | |||||
| */ | |||||
| void deleteById(Long id); | |||||
| void disable(Long id); | |||||
| ResultData addMerchant(WxMerchant wxMerchant, Long userId); | |||||
| /** | |||||
| * 创建二维码 | |||||
| */ | |||||
| void updateQrCode(TenantEntity tenantEntity,Long merchantId); | |||||
| ResultData updateMerchant(WxMerchant wxMerchant); | |||||
| ResultData updateMerchantAccount(WxMerchant wxMerchant); | |||||
| ResultData updateMerchantAdmin(WxMerchant wxMerchant); | |||||
| ResultData updateMerchantCorp(WxMerchant wxMerchant); | |||||
| ResultData updateMerchantTax(WxMerchant wxMerchant); | |||||
| ResultData updateMerchantLevel(WxMerchant wxMerchant); | |||||
| WxMerchantVo findMerchantById(TenantEntity tenantEntity,Long id); | |||||
| WxMerchant findListOne(WxMerchant wxMerchant); | |||||
| void exportData(WxMerchant wxMerchant, HttpServletRequest request, HttpServletResponse response); | |||||
| ResultData top(WxMerchant wxMerchant); | |||||
| // ResultData useAccount(WxProfitSharingReceiver wxProfitSharingReceiver); | |||||
| boolean hasMerchant(WxMerchant wxMerchant); | |||||
| boolean hasMerchantEncode(WxMerchant wxMerchant); | |||||
| boolean hasMerchantBrand(WxMerchant wxMerchant); | |||||
| boolean hasMerchantIsAdmin(WxMerchant wxMerchant); | |||||
| WxMerchant getMerchantByEncode(String encode); | |||||
| Optional<WxMerchant> findByName(String name); | |||||
| PageInfo<WxMerchant> listVoAsPage(WxMerchant wxMerchant, Integer pageNum, Integer pageSize,boolean hasRentContractInfo); | |||||
| List<WxMerchantVo> findMerchantVoList(Long couponId,TenantEntity tenantEntity,boolean hasShop); | |||||
| Map<Long,List<WxMerchantVo>> findCouponMerchantVoList(List<Long> couponIds,TenantEntity tenantEntity,boolean hasShop); | |||||
| Map<Long,String> getLiveCouponMerchantMap(List<Long> couponIds,TenantEntity tenantEntity); | |||||
| List<WxMerchant> getMerchantList(WxMerchant wxMerchant); | |||||
| void disableMerchat(Long id); | |||||
| List<Long> getMerchantShopIds(Long merchantId); | |||||
| ResultData damark(WxMerchant wxMerchant, TenantEntity tenantInfo); | |||||
| ResultData downmark(WxMerchant wxMerchant); | |||||
| ResultData markup(WxMerchant wxMerchant); | |||||
| ResultData addttMerchant(WxMerchant wxMerchant, Long userId); | |||||
| ResultData ttdisable(Long id); | |||||
| ResultData ttstartusing(Long id); | |||||
| @Deprecated | |||||
| Map<String,Object> findMerchantByShop(Long shopId); | |||||
| Map<String, Object> detailByShopId(TenantEntity tenantInfo, Long shopId); | |||||
| List<Long> getFloorBuildMerchantIds(TenantEntity tenantEntity,String floorRule,Long building,Long floor,Integer merchantShopDel,Integer shopDel ) ; | |||||
| List<WxMerchantVo> findMerchantListByProduct(TenantEntity tenantEntity,Long productId,boolean hasShop); | |||||
| WxMerchantCorp getMerchantCorp(TenantEntity tenantInfo, Long id); | |||||
| WxMerchant findAdmin(TenantEntity tenantEntity); | |||||
| WxMerchant findBrandAdmin(TenantEntity tenantEntity, Long brandId); | |||||
| Map<Long, WxMerchant> findMerchantMap(WxMerchant merchantQ); | |||||
| } | |||||
| @@ -40,9 +40,6 @@ public class OrderSnapshotServiceImpl implements OrderSnapshotService { | |||||
| @Autowired | @Autowired | ||||
| WxCouponMapper wxCouponMapper; | WxCouponMapper wxCouponMapper; | ||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Override | @Override | ||||
| public ResultData getOrderSnapshotByOrderId(TenantEntity tenantEntity, Long orderId) { | public ResultData getOrderSnapshotByOrderId(TenantEntity tenantEntity, Long orderId) { | ||||
| OrderSnapshot os = new OrderSnapshot(); | OrderSnapshot os = new OrderSnapshot(); | ||||
| @@ -70,54 +67,6 @@ public class OrderSnapshotServiceImpl implements OrderSnapshotService { | |||||
| @Override | @Override | ||||
| public void saveOrderSnapshot(WxOrder order) { | public void saveOrderSnapshot(WxOrder order) { | ||||
| try{ | try{ | ||||
| WxOrder wxOrder = wxOrderMapper.selectById(order.getId(), order.getTenantId()); | |||||
| if(wxOrder == null){ | |||||
| logger.error("同步订单快照异常---未找到订单数据"); | |||||
| return ; | |||||
| } | |||||
| WxCoupon wxCoupon = wxCouponMapper.selectById(order.getProductId(),order.getTenantId()); | |||||
| if(wxCoupon == null){ | |||||
| logger.error("同步订单快照异常---未找到商品数据"); | |||||
| return ; | |||||
| } | |||||
| WxCoupon attrsById = wxCouponMapper.getAttrsById(order.getProductId(), order.getTenantId()); | |||||
| OrderSnapshot snapshot = new OrderSnapshot(); | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| Date now = new Date(); | |||||
| snapshot.updateTenantInfo(wxCoupon); | |||||
| snapshot.setId(idWorker.nextId()); | |||||
| snapshot.setComposeOrderId(wxOrder.getComposeOrderId()); | |||||
| snapshot.setOrderId(wxOrder.getId()); | |||||
| snapshot.initByCoupon(wxCoupon); | |||||
| snapshot.setProductAttrs(attrsById.getProductAttrs()); | |||||
| snapshot.setSkuAttrs(attrsById.getSkuAttrs()); | |||||
| List<Long> couponIdList = new ArrayList<Long>(); | |||||
| couponIdList.add(wxCoupon.getId()); | |||||
| Map<Long, List<WxMerchantVo>> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIdList, wxCoupon,true); | |||||
| List<WxMerchantVo> merchantList = couponMerchantVoMap.get(wxCoupon.getId()); | |||||
| if (merchantList != null) { | |||||
| merchantList = merchantList.stream().filter( | |||||
| m->m.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())) | |||||
| .collect(Collectors.toList()); | |||||
| } | |||||
| snapshot.setMerchantList(JSON.toJSONString(merchantList)); | |||||
| if(EnumCouponType.COUPON_GIFT.getCode().equals(wxCoupon.getType())){ | |||||
| WxCoupon coupon = new WxCoupon(); | |||||
| coupon.updateTenantInfo(wxCoupon); | |||||
| List<Long> longs = JSON.parseArray(wxCoupon.getGiftList(), Long.class); | |||||
| if(longs != null && longs.size() > 0){ | |||||
| coupon.setIds(longs); | |||||
| List<WxCoupon> giftList = wxCouponMapper.findList(coupon); | |||||
| snapshot.setGiftList(JSON.toJSONString(giftList)); | |||||
| } | |||||
| } | |||||
| snapshot.setCreateDate(now); | |||||
| snapshot.setUpdateDate(now); | |||||
| orderSnapshotMapper.insert(snapshot); | |||||
| }catch(Exception e){ | }catch(Exception e){ | ||||
| logger.error("同步订单快照异常"+e.getMessage()); | logger.error("同步订单快照异常"+e.getMessage()); | ||||
| @@ -88,9 +88,6 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService { | |||||
| @Autowired | @Autowired | ||||
| WxCouponMallService wxCouponMallService; | WxCouponMallService wxCouponMallService; | ||||
| @Lazy | |||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| // @Override | // @Override | ||||
| // public ResultData couponList(TtCouponVo ttCouponVo, Integer pageNum, Integer pageSize) { | // public ResultData couponList(TtCouponVo ttCouponVo, Integer pageNum, Integer pageSize) { | ||||
| @@ -180,204 +177,10 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService { | |||||
| return new ResultData(ErrorCode.COUPON_ORDER_IS_INVALID); | return new ResultData(ErrorCode.COUPON_ORDER_IS_INVALID); | ||||
| } | } | ||||
| //获取门店,确保所有门店匹配poi | |||||
| List<Long> merchantIds = null; | |||||
| List<WxCouponMall> couponMallList = null; | |||||
| if (EnumCouponType.isParentCoupon(coupon.getType())) { | |||||
| WxCouponMall couponMall = new WxCouponMall(); | |||||
| couponMall.updateTenantInfo(coupon); | |||||
| couponMall.setProductId(coupon.getId()); | |||||
| couponMall.setStatus(EnumCouponMallStatus.FINISED.getCode()); | |||||
| couponMallList = wxCouponMallService.list(couponMall, false); | |||||
| if (null == couponMallList || couponMallList.size() <= 0 ) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"未完成设置关联商场"); | |||||
| } | |||||
| for (int i = 0 ; i < couponMallList.size(); i++ ) { | |||||
| WxCouponMall cm = couponMallList.get(i); | |||||
| List<Long> mchids = wxCouponMerchantMapper.findMerchantIdListByProduct(coupon.getId(), cm.getMallTenantId()); | |||||
| if (null != mchids) { | |||||
| if (null == merchantIds) { | |||||
| merchantIds = new ArrayList<Long>(); | |||||
| } | |||||
| merchantIds.addAll(mchids); | |||||
| } | |||||
| //添加商管商户poi | |||||
| TenantEntity mallTenantEntity = new TenantEntity(); | |||||
| mallTenantEntity.setTenantId(cm.getMallTenantId()); | |||||
| mallTenantEntity.setParentTenantId(coupon.getTenantId()); | |||||
| WxMerchant adminMerchant = wxMerchantService.findAdmin(mallTenantEntity); | |||||
| if (null == adminMerchant) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"商场"+cm.getMallTenantId()+"未设置商管商户"); | |||||
| } | |||||
| if (!merchantIds.contains(adminMerchant.getId())){ | |||||
| merchantIds.add(adminMerchant.getId()); | |||||
| } | |||||
| } | |||||
| }else { | |||||
| merchantIds = wxCouponMerchantMapper.findMerchantIdListByProduct(coupon.getId(), coupon.getTenantId()); | |||||
| } | |||||
| if (null == merchantIds || merchantIds.size() <= 0) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"未设置商户"); | |||||
| } | |||||
| List<TtMerchantPoi> pois = null; | |||||
| if (EnumCouponType.isParentCoupon(coupon.getType())) { | |||||
| if (null == couponMallList || couponMallList.size() <= 0 ) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"未完成设置关联商场"); | |||||
| } | |||||
| for (int i = 0 ; i < couponMallList.size(); i++ ) { | |||||
| WxCouponMall cm = couponMallList.get(i); | |||||
| TtMerchantPoi poiQ = new TtMerchantPoi(); | |||||
| poiQ.setTenantId(cm.getMallTenantId()); | |||||
| poiQ.setIds(merchantIds); | |||||
| List<TtMerchantPoi> pois1 = ttMerchantPoiMapper.findList(poiQ); | |||||
| if (null != pois1) { | |||||
| if (null == pois) { | |||||
| pois = new ArrayList<TtMerchantPoi>(); | |||||
| } | |||||
| pois.addAll(pois1); | |||||
| } | |||||
| } | |||||
| }else { | |||||
| TtMerchantPoi poiQ = new TtMerchantPoi(); | |||||
| poiQ.updateTenantInfo(coupon); | |||||
| poiQ.setIds(merchantIds); | |||||
| pois = ttMerchantPoiMapper.findList(poiQ); | |||||
| } | |||||
| if(pois == null || pois.isEmpty()){ | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"未找到poi门店"); | |||||
| } | |||||
| if(pois.size() != merchantIds.size()){ | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"存在未匹配poi的门店"); | |||||
| } | |||||
| List<Product.PoiStruct> poiList = new ArrayList(); | |||||
| for (TtMerchantPoi poi: pois) { | |||||
| Product.PoiStruct poiStruct = new Product.PoiStruct(); | |||||
| poiStruct.setSupplierExtId(poi.getSupplierExtId()); | |||||
| poiList.add(poiStruct); | |||||
| } | |||||
| WxMerchant payAccountMerchant = null; | |||||
| if (EnumCouponType.isParentCoupon(coupon.getType())) { | |||||
| if (EnumCouponType.COUPON_DOUYIN_PLAT.getCode() == coupon.getType()) { | |||||
| payAccountMerchant = wxMerchantService.findAdmin(coupon); | |||||
| }else if (EnumCouponType.COUPON_DOUYIN_BRAND.getCode() == coupon.getType()) { | |||||
| payAccountMerchant = wxMerchantService.findBrandAdmin(coupon, coupon.getBrand()); | |||||
| }else { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND.getCode(),"当前券类型未找到收款商户"); | |||||
| } | |||||
| }else { | |||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.updateTenantInfo(coupon); | |||||
| merchantQ.setIds(merchantIds); | |||||
| merchantQ.setSortColumns(BaseEntity.SortField.MerchantAdmin); | |||||
| payAccountMerchant = wxMerchantMapper.findIdNameList(merchantQ).get(0); | |||||
| } | |||||
| //投放到抖音渠道,获取详情地址,以做审核 | |||||
| WxCouponChannel wxCouponChannelQuery = new WxCouponChannel(); | |||||
| wxCouponChannelQuery.updateTenantInfo(coupon); | |||||
| wxCouponChannelQuery.setCouponId(coupon.getId()); | |||||
| wxCouponChannelQuery.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN.getCode()); | |||||
| List<WxCouponChannel> wxCouponChannels = wxCouponChannelMapper.findList(wxCouponChannelQuery); | |||||
| WxCouponChannel wxCouponChannel = null; | |||||
| Date now = new Date(); | |||||
| if(wxCouponChannels == null || wxCouponChannels.isEmpty()){ | |||||
| wxCouponChannel = new WxCouponChannel(); | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| wxCouponChannel.setId(idWorker.nextId()); | |||||
| wxCouponChannel.updateTenantInfo(coupon); | |||||
| wxCouponChannel.setShowBeginTime(now); | |||||
| wxCouponChannel.setBeginTime(now); | |||||
| wxCouponChannel.setEndTime(coupon.getValidEndDate()); | |||||
| wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_BEFORE.getCode()); | |||||
| wxCouponChannel.setCouponId(coupon.getId()); | |||||
| wxCouponChannel.setMakeMerchantId(coupon.getMakeMerchantId()); | |||||
| wxCouponChannel.setType(coupon.getType()); | |||||
| wxCouponChannel.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN.getCode()); | |||||
| wxCouponChannel.setBusiness(coupon.getBusiness()); | |||||
| wxCouponChannel.setSubBusiness(coupon.getSubBusiness()); | |||||
| wxCouponChannel.setTitle(coupon.getTitle()); | |||||
| wxCouponChannelMapper.insert(wxCouponChannel); | |||||
| }else if(wxCouponChannels.size() == 1){ | |||||
| wxCouponChannel = wxCouponChannels.get(0); | |||||
| wxCouponChannel.setShowBeginTime(now); | |||||
| wxCouponChannel.setBeginTime(now); | |||||
| wxCouponChannel.setEndTime(coupon.getValidEndDate()); | |||||
| wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_BEFORE.getCode()); | |||||
| wxCouponChannel.setCouponId(coupon.getId()); | |||||
| wxCouponChannel.setMakeMerchantId(coupon.getMakeMerchantId()); | |||||
| wxCouponChannel.setType(coupon.getType()); | |||||
| wxCouponChannel.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN.getCode()); | |||||
| wxCouponChannel.setBusiness(coupon.getBusiness()); | |||||
| wxCouponChannel.setSubBusiness(coupon.getSubBusiness()); | |||||
| wxCouponChannel.setTitle(coupon.getTitle()); | |||||
| wxCouponChannel.setUpdateDate(now); | |||||
| wxCouponChannelMapper.updateById(wxCouponChannel); | |||||
| }else{ | |||||
| return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED.getCode(),"此券状态异常,请重新创建"); | |||||
| } | |||||
| //提交审核 | |||||
| try { | |||||
| TtWebService ttWebService = ttMerchantPoiService.getTtWebService(coupon); | |||||
| Product product = new Product(); | |||||
| Product.ProductStruct prostruct = new Product.ProductStruct(); | |||||
| prostruct.setOutId(coupon.getId().toString()); | |||||
| prostruct.setProductName(coupon.getTitle()); | |||||
| prostruct.setCategoryId(ttattrs.getCategoryId()); | |||||
| prostruct.setProductType(ttattrs.getProductType()); | |||||
| prostruct.setBizLine(5);//默认小程序 | |||||
| prostruct.setAccountName(payAccountMerchant.getName()); | |||||
| prostruct.setSoldStartTime((long) DateUtils.getSecondTimestamp(wxCouponChannel.getBeginTime())); | |||||
| prostruct.setSoldEndTime((long) DateUtils.getSecondTimestamp(wxCouponChannel.getEndTime())); | |||||
| prostruct.setOutUrl(getGoodsEntrySchema(coupon,wxCouponChannel.getId())); | |||||
| prostruct.setPoiList(poiList); | |||||
| Map<String, String> productAttrKeyValueMap = ttattrs.getProductAttrKeyValueMap(); | |||||
| productAttrKeyValueMap.put("trade_url",getUpOrderEntrySchema(coupon,wxCouponChannel.getId())); | |||||
| prostruct.setAttrKeyValueMap(productAttrKeyValueMap); | |||||
| product.setProduct(prostruct); | |||||
| Product.SkuStruct skuStruct = new Product.SkuStruct(); | |||||
| skuStruct.setSkuName(coupon.getTitle()); | |||||
| skuStruct.setOriginAmount(coupon.getPrice()); | |||||
| skuStruct.setActualAmount(coupon.getSalePrice()); | |||||
| Product.StockStruct stockStruct = new Product.StockStruct(); | |||||
| stockStruct.setLimitType(1); | |||||
| stockStruct.setStockQty(coupon.getInventory()); | |||||
| skuStruct.setStock(stockStruct); | |||||
| skuStruct.setStatus(1); | |||||
| skuStruct.setAttrKeyValueMap(ttattrs.getSkuAttrKeyValueMap()); | |||||
| product.setSku(skuStruct); | |||||
| String productId = ttWebService.getGoodsService().productSave(product); | |||||
| if(StringUtils.isBlank(productId)){ | |||||
| throw new Exception("未获取到抖音商品product_id"); | |||||
| } | |||||
| syncCouponChannelPoi(coupon,wxCouponChannel.getId(),productId); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } catch (WxErrorException e) { | |||||
| throw new Exception(e.getError().getErrorMsg()); | |||||
| // logger.error(e.getMessage()); | |||||
| // return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | |||||
| } catch (Exception e){ | |||||
| throw e; | |||||
| // logger.error(e.getMessage()); | |||||
| // return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -117,9 +117,6 @@ public class WxBillAllServiceImpl implements WxBillAllService { | |||||
| @Autowired | @Autowired | ||||
| WxMallMapper wxMallMapper; | WxMallMapper wxMallMapper; | ||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Autowired | @Autowired | ||||
| private String fmUploadDir; | private String fmUploadDir; | ||||
| @@ -868,233 +865,11 @@ public class WxBillAllServiceImpl implements WxBillAllService { | |||||
| @Override | @Override | ||||
| public void exportOweBill(WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) { | public void exportOweBill(WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) { | ||||
| //商场名称 | |||||
| // WxMall q = new WxMall(); | |||||
| // q.setTenantInfo(wxBillAll); | |||||
| WxMall wxMall = wxMallMapper.getByTenantInfo(wxBillAll); | |||||
| //映射结果 | |||||
| Map<String, Object> result = new HashMap<>(); | |||||
| result.put("mall", wxMall.getName()); | |||||
| //付款方式 | |||||
| WxPayAccountBill wxPayAccountBill = new WxPayAccountBill(); | |||||
| wxPayAccountBill.updateTenantInfo(wxBillAll); | |||||
| WxPayAccountBill payAccountBill = wxPayAccountBillMapper.selectOne(new QueryWrapper(wxPayAccountBill)); | |||||
| if (payAccountBill != null) { | |||||
| String bankCardId = payAccountBill.getBankCardId(); | |||||
| String bankAccountName = payAccountBill.getBankAccountName(); | |||||
| result.put("accountNumber", StringUtils.isNotEmpty(bankCardId) ? bankCardId : " "); | |||||
| result.put("accountName", StringUtils.isNotEmpty(bankAccountName) ? bankAccountName : " "); | |||||
| } else { | |||||
| result.put("accountNumber", " "); | |||||
| result.put("accountName", " "); | |||||
| } | |||||
| //编号 | |||||
| String number = "JF" + DateUtils.getSystemTime("yyyyMMddHHmmss"); | |||||
| result.put("number", number); | |||||
| //数据 | |||||
| Integer status = wxBillAll.getStatus(); | |||||
| if (status == null) { | |||||
| List<Integer> statusList = new ArrayList<>(); | |||||
| statusList.add(EnumBillRentStatus.NOT_PAID.getCode()); | |||||
| statusList.add(EnumBillRentStatus.WAIT_PAY.getCode()); | |||||
| statusList.add(EnumBillRentStatus.NOT_EXPIRED.getCode()); | |||||
| wxBillAll.setStatusList(statusList); | |||||
| //账单时间段 | |||||
| result.put("starttime", wxBillAll.getStarttime()); | |||||
| result.put("endtime", wxBillAll.getEndtime().substring(0, 10)); | |||||
| } else { | |||||
| result.put("starttime", " "); | |||||
| result.put("endtime", " "); | |||||
| } | |||||
| Integer filterHasPay = wxBillAll.getFilterHasPay(); | |||||
| //租金 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.RENT.getCode()); | |||||
| List<WxBillAllVo> rentList = this.list(wxBillAll); | |||||
| Long rentSum = 0l; | |||||
| if(!rentList.isEmpty()){ | |||||
| rentSum = rentList.stream().collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| } | |||||
| //物业 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY.getCode()); | |||||
| List<WxBillAllVo> propertyList = this.list(wxBillAll); | |||||
| Long propertySum = 0l; | |||||
| if(!propertyList.isEmpty()){ | |||||
| propertySum = propertyList.stream().collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| } | |||||
| //押金 | |||||
| List<WxBillAllVo> depositList = new ArrayList<>(); | |||||
| //租赁押金 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.RENT_DEPOSIT.getCode()); | |||||
| List<WxBillAllVo> rentDepositList = this.list(wxBillAll); | |||||
| depositList.addAll(rentDepositList); | |||||
| //物业押金 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.PROPERTY_DEPOSIT.getCode()); | |||||
| List<WxBillAllVo> propertyDepositList = this.list(wxBillAll); | |||||
| depositList.addAll(propertyDepositList); | |||||
| //其他押金 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER_DEPOSIT.getCode()); | |||||
| List<WxBillAllVo> otherDepositList = this.list(wxBillAll); | |||||
| depositList.addAll(otherDepositList); | |||||
| Long depositSum = 0l; | |||||
| StringBuffer depositDetail = new StringBuffer();//押金明细 | |||||
| if(!depositList.isEmpty()){ | |||||
| depositSum = depositList.stream().collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| depositList.stream().forEach(b -> { | |||||
| BigDecimal owe = new BigDecimal(status == null && filterHasPay == null ? b.getReceivePay() : b.getOwe()).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| depositDetail.append(b.getName()).append(":[").append(owe.toPlainString()).append("] "); | |||||
| }); | |||||
| } | |||||
| //水电空调费 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.WATER_POWER_AIR.getCode()); | |||||
| List<WxBillAllVo> waterPowerAirList = this.list(wxBillAll); | |||||
| Long waterSum = 0l, powerSum = 0l, airConditioningSum = 0l; | |||||
| if (!waterPowerAirList.isEmpty()) { | |||||
| waterSum = waterPowerAirList.stream().filter(b -> b.getBillTypeValue().equals(EnumBillTypeParam.WATER.getCode())) | |||||
| .collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| powerSum = waterPowerAirList.stream().filter(b -> b.getBillTypeValue().equals(EnumBillTypeParam.POWER.getCode())) | |||||
| .collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| airConditioningSum = waterPowerAirList.stream().filter(b -> b.getBillTypeValue().equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) | |||||
| .collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| } | |||||
| //其他费用 | |||||
| wxBillAll.setBillTypeValue(EnumBillQueryType.OTHER.getCode()); | |||||
| List<WxBillAllVo> otherList = this.list(wxBillAll); | |||||
| Long otherSum = 0l; | |||||
| StringBuffer otherDetail = new StringBuffer();//其他费用明细 | |||||
| if(!otherList.isEmpty()){ | |||||
| otherSum = otherList.stream().collect(Collectors.summingLong(b -> status == null && filterHasPay == null ? b.getReceivePay() + b.getLatePayPrice() + b.getServiceChargePay() : b.getOwe())); | |||||
| otherList.stream().forEach(b -> { | |||||
| BigDecimal owe = new BigDecimal(status == null && filterHasPay == null ? b.getReceivePay() : b.getOwe()).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| otherDetail.append(b.getName()).append(":[").append(owe.toPlainString()).append("] "); | |||||
| }); | |||||
| } | |||||
| //总计 | |||||
| Long summarySum = rentSum + propertySum + depositSum + waterSum + powerSum + airConditioningSum + otherSum; | |||||
| BigDecimal rent = new BigDecimal(rentSum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal property = new BigDecimal(propertySum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal deposit = new BigDecimal(depositSum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal water = new BigDecimal(waterSum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal power = new BigDecimal(powerSum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal airConditioning = new BigDecimal(airConditioningSum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal other = new BigDecimal(otherSum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| BigDecimal summary = new BigDecimal(summarySum).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); | |||||
| String summaryUpper = PriceUtil.number2CNMontrayUnit(summary); | |||||
| result.put("rent", rent.toPlainString()); | |||||
| result.put("property", property.toPlainString()); | |||||
| result.put("deposit", deposit.toPlainString()); | |||||
| result.put("water", water.toPlainString()); | |||||
| result.put("power", power.toPlainString()); | |||||
| result.put("airConditioning", airConditioning.toPlainString()); | |||||
| result.put("other", other.toPlainString()); | |||||
| result.put("summary", summary.toPlainString()); | |||||
| result.put("summaryUpper", summaryUpper); | |||||
| result.put("depositDetail", StringUtils.isNotEmpty(depositDetail.toString()) ? depositDetail.toString() : " "); | |||||
| result.put("otherDetail", StringUtils.isNotEmpty(otherDetail.toString()) ? otherDetail.toString() : " "); | |||||
| WxMerchantDto wxMerchantDto = new WxMerchantDto(); | |||||
| wxMerchantDto.setId(wxBillAll.getMerchantId()); | |||||
| wxMerchantDto.updateTenantInfo(wxMall); | |||||
| PageInfo<WxMerchantVo> pageInfo = wxMerchantService.listAsPageCVo(wxMerchantDto,1,1,true); | |||||
| List<WxMerchantVo> listCVo = pageInfo.getList(); | |||||
| WxMerchantVo wxMerchantVo = listCVo.get(0); | |||||
| result.put("merchant", wxMerchantVo.getMerchantName()); | |||||
| WxShopVo wxShopVo = wxMerchantVo.getShopVoList().stream() | |||||
| .filter(s -> StringUtils.isNotEmpty(s.getLinkPhone()) || StringUtils.isNotEmpty(s.getLinkPerson())).findFirst().orElse(null); | |||||
| if (wxShopVo != null) { | |||||
| String linkPerson = wxShopVo.getLinkPerson(); | |||||
| String linkPhone = wxShopVo.getLinkPhone(); | |||||
| result.put("linkPerson", StringUtils.isNotEmpty(linkPerson) ? linkPerson : " "); | |||||
| result.put("linkPhone", StringUtils.isNotEmpty(linkPhone) ? linkPhone : " "); | |||||
| } else { | |||||
| result.put("linkPerson", " "); | |||||
| result.put("linkPhone", " "); | |||||
| } | |||||
| String createtime = DateUtils.getSystemTime("yyyy-MM-dd"); | |||||
| result.put("createtime", createtime); | |||||
| String templatePath = "contract-word-template/bill_owe.docx"; | |||||
| String filepath = fmUploadDir; | |||||
| String filename = UUID.randomUUID() + ".docx"; | |||||
| String exportFileName = "催缴单.docx"; | |||||
| WordUtil.exportWord(templatePath, filepath, filename, exportFileName, result, request, response, null); | |||||
| } | } | ||||
| @Override | @Override | ||||
| public void exportSettleBill(WxBillSettle wxBillSettle, HttpServletRequest request, HttpServletResponse response) { | public void exportSettleBill(WxBillSettle wxBillSettle, HttpServletRequest request, HttpServletResponse response) { | ||||
| wxBillSettle = wxBillSettleService.getById(wxBillSettle.getId(), EnumFilterSettle.NO.getCode()); | |||||
| if (wxBillSettle.getReceiveBillIds() == null) { | |||||
| wxBillSettle.setReceiveBillIds(new ArrayList<>()); | |||||
| } | |||||
| if (wxBillSettle.getPayBillIds() == null) { | |||||
| wxBillSettle.setPayBillIds(new ArrayList<>()); | |||||
| } | |||||
| //映射结果 | |||||
| Map<String, Object> result = new HashMap<>(); | |||||
| // WxMall q = new WxMall(); | |||||
| // q.setTenantInfo(wxBillSettle); | |||||
| WxMall wxMall = wxMallMapper.getByTenantInfo(wxBillSettle); | |||||
| result.put("mall", wxMall.getName()); | |||||
| result.put("merchant", wxMerchantService.selectById(wxBillSettle.getMerchantId()).getName()); | |||||
| result.put("num", wxBillSettle.getSettleNumber()); | |||||
| result.put("cdate", DateUtils.format(wxBillSettle.getCreatetime())); | |||||
| BigDecimal receiveM = (new BigDecimal(wxBillSettle.getReceiveMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP)); | |||||
| BigDecimal payM = (new BigDecimal(wxBillSettle.getPayMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP)); | |||||
| BigDecimal bM = (new BigDecimal(wxBillSettle.getBalance()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP)); | |||||
| result.put("receiveM", receiveM.toString() + "元"); | |||||
| result.put("payM", payM.toString() + "元"); | |||||
| result.put("bM", bM.toString() + "元"); | |||||
| result.put("receiveMU", PriceUtil.digitUppercase(receiveM.doubleValue())); | |||||
| result.put("payMU", PriceUtil.digitUppercase(payM.doubleValue())); | |||||
| result.put("bMU", PriceUtil.digitUppercase(bM.doubleValue())); | |||||
| WordDocTableVo wordDocTableVo = new WordDocTableVo(); | |||||
| List<List<String>> rowsParams = new ArrayList<>(); | |||||
| int size = wxBillSettle.getReceiveBillIds().size() > wxBillSettle.getPayBillIds().size() ? wxBillSettle.getReceiveBillIds().size() : wxBillSettle.getPayBillIds().size(); | |||||
| int count = 1; | |||||
| for (int i = 0; i < size; i++) { | |||||
| WxBillSettleBill bill = i > wxBillSettle.getReceiveBillIds().size() - 1 ? null : wxBillSettle.getReceiveBillIds().get(i); | |||||
| List<String> cellList = new ArrayList<>(); | |||||
| cellList.add(count + ""); | |||||
| if (bill != null) { | |||||
| cellList.add(bill.getBillName()); | |||||
| cellList.add(new BigDecimal(bill.getReceivePay()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP).toString()); | |||||
| } else { | |||||
| cellList.add(""); | |||||
| cellList.add(""); | |||||
| } | |||||
| cellList.add(count + ""); | |||||
| WxBillSettleBill payBill = i > wxBillSettle.getPayBillIds().size() - 1 ? null : wxBillSettle.getPayBillIds().get(i); | |||||
| if (payBill != null) { | |||||
| cellList.add(payBill.getBillName()); | |||||
| cellList.add(new BigDecimal(payBill.getReceivePay()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP).toString()); | |||||
| } else { | |||||
| cellList.add(""); | |||||
| cellList.add(""); | |||||
| } | |||||
| rowsParams.add(cellList); | |||||
| count++; | |||||
| } | |||||
| wordDocTableVo.setParams(rowsParams); | |||||
| wordDocTableVo.setTableIndex(0); | |||||
| wordDocTableVo.setRowIndex(2); | |||||
| String templatePath = "contract-word-template/settle.docx"; | |||||
| String filepath = fmUploadDir; | |||||
| String filename = UUID.randomUUID() + ".docx"; | |||||
| String exportFileName = "结算单.docx"; | |||||
| WordUtil.exportWord(templatePath, filepath, filename, exportFileName, result, request, response, wordDocTableVo); | |||||
| } | } | ||||
| @@ -18,7 +18,6 @@ import com.iformall.mapper.WxMerchantMapper; | |||||
| import com.iformall.mapper.WxMsgValidationcodeMapper; | import com.iformall.mapper.WxMsgValidationcodeMapper; | ||||
| import com.iformall.service.WxMallService; | import com.iformall.service.WxMallService; | ||||
| import com.iformall.service.WxMerchantBUserService; | import com.iformall.service.WxMerchantBUserService; | ||||
| import com.iformall.service.WxMerchantService; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| @@ -42,8 +41,6 @@ public class WxMerchantBUserServiceImpl implements WxMerchantBUserService { | |||||
| @Autowired | @Autowired | ||||
| WxAppinfoMapper wxAppinfoMapper; | WxAppinfoMapper wxAppinfoMapper; | ||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Autowired | @Autowired | ||||
| WxMerchantMapper wxMerchantMapper; | WxMerchantMapper wxMerchantMapper; | ||||
| @@ -206,29 +203,7 @@ public class WxMerchantBUserServiceImpl implements WxMerchantBUserService { | |||||
| @Override | @Override | ||||
| public List<WxMerchantBuInfoVo> handMerchantBUser(List<WxMerchantBUser> orgList) { | public List<WxMerchantBuInfoVo> handMerchantBUser(List<WxMerchantBUser> orgList) { | ||||
| List<String> tenantIds = orgList.stream().map(mb -> mb.getTenantId()).collect(Collectors.toList()); | |||||
| WxMall mallQ = new WxMall(); | |||||
| mallQ.setTenantIdList(tenantIds); | |||||
| Map<String,WxMall> mallMap = wxMallService.getMallMap(mallQ); | |||||
| List<Long> merchantIds = orgList.stream().map(mb -> mb.getMerchantId()).collect(Collectors.toList()); | |||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.setIds(merchantIds); | |||||
| Map<Long,WxMerchant> merchantMap = wxMerchantService.findMerchantMap(merchantQ); | |||||
| List<WxMerchantBuInfoVo> listvo = new ArrayList<>(); | |||||
| for (WxMerchantBUser bUser:orgList) { | |||||
| WxMerchantBuInfoVo mbvo = new WxMerchantBuInfoVo(); | |||||
| WxMall wxMall = mallMap.get(bUser.getTenantId()); | |||||
| mbvo.updateTenantInfo(wxMall); | |||||
| mbvo.setTenantName(wxMall.getName()); | |||||
| mbvo.setMerchantId(mbvo.getMerchantId()); | |||||
| WxMerchant merchant = merchantMap.get(bUser.getMerchantId()); | |||||
| mbvo.setMerchantName(merchant.getName()); | |||||
| mbvo.setImgUrl(merchant.getImgUrl()); | |||||
| mbvo.setBuUserId(bUser.getId()); | |||||
| listvo.add(mbvo); | |||||
| } | |||||
| return listvo; | |||||
| return null; | |||||
| } | } | ||||
| @@ -37,9 +37,6 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| @Autowired | @Autowired | ||||
| WxMerchantBUserService wxMerchantBUserService; | WxMerchantBUserService wxMerchantBUserService; | ||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Autowired | @Autowired | ||||
| WxMallService wxMallService; | WxMallService wxMallService; | ||||
| @@ -88,45 +85,7 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| return new ResultData(ErrorCode.USER_IS_EMPTY); | return new ResultData(ErrorCode.USER_IS_EMPTY); | ||||
| } | } | ||||
| WxMerchant merchant = wxMerchantService.getById(user.getMerchantId()); | |||||
| if (merchant==null) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| WxMall mall = wxMallService.getByTenantInfo(merchant); | |||||
| if (mall==null) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); | |||||
| wxMerchantTradeDaily.setMerchantId(merchant.getId()); | |||||
| SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); | |||||
| wxMerchantTradeDaily.setReportDate(fmt.format(new Date())); | |||||
| List<WxMerchantTradeDaily> tradeList = wxMerchantTradeDailyMapper.findList(wxMerchantTradeDaily); | |||||
| if (tradeList.size() > 0) { | |||||
| wxMerchantTradeDaily = tradeList.get(0); | |||||
| wxMerchantTradeDaily.setTradeAmt(volume + ""); | |||||
| wxMerchantTradeDaily.setUpdateDate(new Date()); | |||||
| wxMerchantTradeDailyMapper.updateById(wxMerchantTradeDaily); | |||||
| return new ResultData(wxMerchantTradeDaily); | |||||
| } | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| wxMerchantTradeDaily.setId(idWorker.nextId()); | |||||
| wxMerchantTradeDaily.updateTenantInfo(merchant); | |||||
| wxMerchantTradeDaily.setMerchantId(merchant.getId()); | |||||
| wxMerchantTradeDaily.setbUserId(userId); | |||||
| wxMerchantTradeDaily.setTradeAmt(volume + ""); | |||||
| wxMerchantTradeDaily.setCreateDate(new Date()); | |||||
| wxMerchantTradeDaily.setUpdateDate(new Date()); | |||||
| wxMerchantTradeDailyMapper.insert(wxMerchantTradeDaily); | |||||
| return new ResultData(wxMerchantTradeDaily); | |||||
| return new ResultData(); | |||||
| } | } | ||||
| @@ -223,42 +182,8 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| @Override | @Override | ||||
| public ResultData getVolumeOfMonth(Long merchantId) { | public ResultData getVolumeOfMonth(Long merchantId) { | ||||
| WxMerchant merchant = wxMerchantService.getById(merchantId); | |||||
| if (merchant == null) | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); | |||||
| wxMerchantTradeDaily.setMerchantId(merchantId); | |||||
| String startTime = DateUtils.getTimeBefore(29, new Date()); | |||||
| String endTime = DateUtils.getSystemTime("yyyy-MM-dd"); | |||||
| wxMerchantTradeDaily.setStartTime(startTime); | |||||
| wxMerchantTradeDaily.setEndTime(endTime); | |||||
| List<WxMerchantTradeDailyVo> recordList = wxMerchantTradeDailyMapper.findVoList(wxMerchantTradeDaily); | |||||
| Map<String, WxMerchantTradeDailyVo> recordMap = recordList.stream().collect(Collectors.toMap(WxMerchantTradeDailyVo::getReportDate, r -> r)); | |||||
| List<WxMerchantTradeDailyVo> tradeList = new ArrayList<>(); | |||||
| Calendar cal = Calendar.getInstance(); | |||||
| SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); | |||||
| SimpleDateFormat fmtv = new SimpleDateFormat("MM/dd"); | |||||
| for (int i = 0; i < 30; i++) { | |||||
| cal.setTime(new Date()); | |||||
| cal.add(Calendar.DAY_OF_YEAR, -i); | |||||
| WxMerchantTradeDailyVo trade = recordMap.get(fmt.format(cal.getTime())); | |||||
| if (trade != null) { | |||||
| trade.setReportDate(fmtv.format(cal.getTime())); | |||||
| trade.setTenantId(null); | |||||
| trade.setMerchantId(null); | |||||
| trade.setMerchantName(null); | |||||
| tradeList.add(trade); | |||||
| } else { | |||||
| trade = new WxMerchantTradeDailyVo(); | |||||
| trade.setTradeAmt(0); | |||||
| trade.setReportDate(fmtv.format(cal.getTime())); | |||||
| tradeList.add(trade); | |||||
| } | |||||
| cal.clear(); | |||||
| } | |||||
| Collections.reverse(tradeList); | |||||
| return new ResultData(tradeList); | |||||
| return new ResultData(); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -302,32 +227,7 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| if (user==null) { | if (user==null) { | ||||
| return new ResultData(ErrorCode.USER_IS_EMPTY); | return new ResultData(ErrorCode.USER_IS_EMPTY); | ||||
| } | } | ||||
| WxMerchant merchant = wxMerchantService.getById(user.getMerchantId()); | |||||
| if (merchant==null) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| WxMall mall = wxMallService.getByTenantInfo(merchant); | |||||
| if (mall==null) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); | |||||
| wxMerchantTradeDaily.setMerchantId(merchant.getId()); | |||||
| if (merchantTradeDaily.getReportDate() != null) { | |||||
| wxMerchantTradeDaily.setReportDate(merchantTradeDaily.getReportDate()); | |||||
| } else { | |||||
| SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); | |||||
| wxMerchantTradeDaily.setReportDate(fmt.format(new Date())); | |||||
| } | |||||
| List<WxMerchantTradeDaily> tradeList = wxMerchantTradeDailyMapper.findList(wxMerchantTradeDaily); | |||||
| if (tradeList.size() > 0) { | |||||
| wxMerchantTradeDaily = tradeList.get(0); | |||||
| return new ResultData(wxMerchantTradeDaily); | |||||
| } | |||||
| return new ResultData(ErrorCode.DALIY_REPORT_VOLUME_TODAY_NULL); | return new ResultData(ErrorCode.DALIY_REPORT_VOLUME_TODAY_NULL); | ||||
| } | } | ||||
| @@ -335,29 +235,8 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| @Override | @Override | ||||
| public ResultData getVolumeOfWeek(Long userId) { | public ResultData getVolumeOfWeek(Long userId) { | ||||
| WxMerchantBUser user = wxMerchantBUserService.getById(userId); | |||||
| if (user==null) { | |||||
| return new ResultData(ErrorCode.USER_IS_EMPTY); | |||||
| } | |||||
| WxMerchant merchant = wxMerchantService.getById(user.getMerchantId()); | |||||
| if (merchant==null) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| WxMall mall = wxMallService.getByTenantInfo(merchant); | |||||
| if (mall==null) { | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); | |||||
| wxMerchantTradeDaily.setMerchantId(merchant.getId()); | |||||
| SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); | |||||
| wxMerchantTradeDaily.setReportDate(fmt.format(new Date())); | |||||
| return new ResultData(wxMerchantTradeDailyMapper.findListOfWeek(wxMerchantTradeDaily)); | |||||
| return new ResultData(); | |||||
| } | } | ||||
| @@ -44,8 +44,6 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR | |||||
| @Autowired | @Autowired | ||||
| WxAppinfoService wxAppinfoService; | WxAppinfoService wxAppinfoService; | ||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Autowired | @Autowired | ||||
| WxPayAccountService wxPayAccountService; | WxPayAccountService wxPayAccountService; | ||||
| @@ -112,50 +110,7 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR | |||||
| if(receiverApply == null){ | if(receiverApply == null){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到数据"); | return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到数据"); | ||||
| } | } | ||||
| WxMerchant merchant = wxMerchantService.selectById(receiverApply.getMerchantId()); | |||||
| if(merchant == null || EnumMerchantStatus.NOT_VALID.getCode().equals(merchant.getStatus())){ | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_VALID.getCode(),"商户不存在或已停用"); | |||||
| } | |||||
| if(receiverApply.getApplymentState() != null && !EnumSharingReceiverApplymentState.getUpdList().contains(receiverApply.getApplymentState())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "该商户进件流程中,无法申请"); | |||||
| } | |||||
| if(!this.isFinishMain(receiverApply)){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未完成主体资质"); | |||||
| } | |||||
| if(!this.isFinishBusiness(receiverApply)){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未完成经营信息"); | |||||
| } | |||||
| if(!this.isFinishSettlement(receiverApply)){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未完成行业资质"); | |||||
| } | |||||
| if(!this.isFinishBankAccount(receiverApply)){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未完成结算帐号"); | |||||
| } | |||||
| if(!this.isFinishContact(receiverApply)){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未完成超级管理员"); | |||||
| } | |||||
| ResultData result = this.applyment4subApplyment(receiverApply); | |||||
| if(result.code == 200){ | |||||
| WxProfitSharingReceiverApply receiverApplyUpd = new WxProfitSharingReceiverApply(); | |||||
| receiverApplyUpd.updateTenantInfo(receiverApply); | |||||
| receiverApplyUpd.setId(receiverApply.getId()); | |||||
| receiverApplyUpd.setApplymentId((String) result.data); | |||||
| receiverApplyUpd.setApplymentState(EnumSharingReceiverApplymentState.APPLYMENT_STATE_SUBMIT.getCode()); | |||||
| receiverApplyUpd.setApplymentStateDesc(EnumSharingReceiverApplymentState.APPLYMENT_STATE_SUBMIT.getMessage()); | |||||
| if(receiverApply.getFunctionState() == null){ | |||||
| receiverApplyUpd.setFunctionState(EnumSharingReceiverApplyFunctionStatus.wait.getCode()); | |||||
| receiverApplyUpd.setFunctionStateDesc(EnumSharingReceiverApplyFunctionStatus.wait.getMessage()); | |||||
| } | |||||
| receiverApplyUpd.setSignUrl(""); | |||||
| receiverApplyUpd.setAuditDetail("[]"); | |||||
| receiverApplyUpd.setUpdateTime(new Date()); | |||||
| wxProfitSharingReceiverApplyMapper.updateById(receiverApplyUpd); | |||||
| return result; | |||||
| }else{ | |||||
| return result; | |||||
| } | |||||
| return new ResultData(); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -64,9 +64,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Autowired | @Autowired | ||||
| WxShopMapper wxShopMapper; | WxShopMapper wxShopMapper; | ||||
| @Lazy | |||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| @Autowired | @Autowired | ||||
| WxBillRentMapper wxBillRentMapper; | WxBillRentMapper wxBillRentMapper; | ||||
| @@ -220,13 +217,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| wxRentContract.setDeposit(wxRentContract.getDeposit() != null ? wxRentContract.getDeposit() : 0); | wxRentContract.setDeposit(wxRentContract.getDeposit() != null ? wxRentContract.getDeposit() : 0); | ||||
| result.put("wxRentContract", wxRentContract); | result.put("wxRentContract", wxRentContract); | ||||
| //关联的商户 | |||||
| if (wxRentContract.getMerchantId() != null) { | |||||
| WxMerchant wxMerchant = wxMerchantService.getById(wxRentContract.getMerchantId()); | |||||
| result.put("wxMerchant", wxMerchant); | |||||
| } else { | |||||
| result.put("wxMerchant", null); | |||||
| } | |||||
| //关联的店铺 | //关联的店铺 | ||||
| if (wxRentContract.shopIdsByRentInfo().size()> 0) { | if (wxRentContract.shopIdsByRentInfo().size()> 0) { | ||||
| WxShop record = new WxShop(); | WxShop record = new WxShop(); | ||||
| @@ -2067,38 +2057,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| result.put("mallAddr", wxMall.getAddr()); | result.put("mallAddr", wxMall.getAddr()); | ||||
| result.put("mallServicePhone", wxMall.getServicePhone()); | result.put("mallServicePhone", wxMall.getServicePhone()); | ||||
| //商户信息 | |||||
| WxMerchant merchant = wxMerchantService.getById(wxRentContract.getMerchantId()); | |||||
| //经营业态 | |||||
| wxRentContract.getMerchantId(); | |||||
| WxBusiness wxBusiness = wxBusinessMapper.selectById(merchant.getBusinessId()); | |||||
| result.put("business", wxBusiness.getTitle()); | |||||
| if (merchant != null) { | |||||
| result.put("merchantName", merchant.getName()); | |||||
| //法人信息 | |||||
| WxMerchantCorp wxMerchantCorp = merchant.getWxMerchantCorp(); | |||||
| result.put("corpPapersNumber", StringUtils.isNotEmpty(wxMerchantCorp.getCorpPapersNumber()) ? wxMerchantCorp.getCorpPapersNumber() : " "); | |||||
| result.put("corpPapersType", wxMerchantCorp.getCorpPapersType() != null ? EnumPapersType.getEnum(wxMerchantCorp.getCorpPapersType()).getMessage() : " "); | |||||
| result.put("corpPapersPerson", StringUtils.isNotEmpty(wxMerchantCorp.getCorpPapersPerson()) ? wxMerchantCorp.getCorpPapersPerson() : " "); | |||||
| //税务信息 | |||||
| WxMerchantTax wxMerchantTax = merchant.getWxMerchantTax(); | |||||
| result.put("taxPapersType", wxMerchantTax.getTaxPapersType() != null ? EnumTaxpayerType.getEnum(wxMerchantTax.getTaxPapersType()).getMessage() : " "); | |||||
| result.put("bankName", StringUtils.isNotEmpty(wxMerchantTax.getBankName()) ? wxMerchantTax.getBankName() : " "); | |||||
| result.put("bankAccount", StringUtils.isNotEmpty(wxMerchantTax.getBankAccount()) ? wxMerchantTax.getBankAccount() : " "); | |||||
| result.put("invoiceAddressPhone", StringUtils.isNotEmpty(wxMerchantTax.getInvoiceAddressPhone()) ? wxMerchantTax.getInvoiceAddressPhone() : " "); | |||||
| } else { | |||||
| result.put("merchantName", ""); | |||||
| //法人信息 | |||||
| result.put("corpPapersNumber", " "); | |||||
| result.put("corpPapersType", " "); | |||||
| result.put("corpPapersPerson", " "); | |||||
| //税务信息 | |||||
| result.put("taxPapersType", " "); | |||||
| result.put("bankName", " "); | |||||
| result.put("bankAccount", " "); | |||||
| result.put("invoiceAddressPhone", " "); | |||||
| } | |||||
| //租赁合同信息 | //租赁合同信息 | ||||
| if(StringUtils.isNotBlank(wxRentContract.getContractualRules())){ | if(StringUtils.isNotBlank(wxRentContract.getContractualRules())){ | ||||