QyzxController.java 20 KB
Newer Older
yuquan.zhu committed
1 2 3 4 5 6 7 8 9
package cn.timer.api.controller.qyzx;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Stream;

import javax.servlet.http.HttpSession;

10

yuquan.zhu committed
11 12 13 14 15 16 17 18 19 20
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
21

东州 翁 committed
22 23 24
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
yuquan.zhu committed
25 26 27 28 29 30 31

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.NumberUtil;
import cn.timer.api.bean.qyzx.QyzxAttaFwjsb;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.qyzx.QyzxEntInfoM;
32
import cn.timer.api.bean.qyzx.QyzxFeebackAccessory;
33
import cn.timer.api.bean.qyzx.QyzxInvoiceUsual;
yuquan.zhu committed
34 35
import cn.timer.api.bean.qyzx.QyzxLogBuy;
import cn.timer.api.bean.qyzx.QyzxPayServe;
36
import cn.timer.api.bean.qyzx.QyzxSuggestionFeeback;
yuquan.zhu committed
37 38 39 40 41 42 43
import cn.timer.api.bean.zzgl.ZzglAuth;
import cn.timer.api.bean.zzgl.ZzglBmgwM;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.enums.CommonEnum;
import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
44
import cn.timer.api.dao.qyzx.QyzxEntAuthMapper;
yuquan.zhu committed
45
import cn.timer.api.dao.qyzx.QyzxEntInfoMMapper;
46
import cn.timer.api.dao.qyzx.QyzxFeebackAccessoryMapper;
47
import cn.timer.api.dao.qyzx.QyzxInvoiceUsualMapper;
yuquan.zhu committed
48
import cn.timer.api.dao.qyzx.QyzxLogBuyMapper;
49 50
import cn.timer.api.dao.qyzx.QyzxPayServeMapper;
import cn.timer.api.dao.qyzx.QyzxSuggestionFeebackMapper;
yuquan.zhu committed
51 52 53 54
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
import cn.timer.api.dto.login.QysDto;
import cn.timer.api.dto.qyzx.AdminListDto;
import cn.timer.api.dto.qyzx.AttaFpglQueryDto;
55
import cn.timer.api.dto.qyzx.EntauthDto;
东州 翁 committed
56
import cn.timer.api.dto.qyzx.FeebackDto;
yuquan.zhu committed
57 58 59
import cn.timer.api.dto.qyzx.LogBuyDto;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
邓实川 committed
60
import cn.timer.api.utils.aliyun.OSSUtil;
yuquan.zhu committed
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;

@Slf4j
@RestController
@Api(tags = "4.0企业中心")
// @RequestMapping(value = "/qyzx", produces = { "application/json",
// "multipart/form-data", "form-data" }, consumes = { "application/json",
// "multipart/form-data" })
@RequestMapping(value = "/qyzx", produces = { "application/json" })
public class QyzxController {
	@Autowired
	private HttpSession session;

	@Autowired
	private QyzxEmpEntAssoMapper qyzxEmpEntAssoMapper;

	@Autowired
	private QyzxEntInfoMMapper qyzxEntInfoMMapper;

	@Autowired
	private QyzxEmpLoginMapper qyzxEmpLoginMapper;

	@Autowired
	private QyzxLogBuyMapper qyzxLogBuyMapper;

	@Autowired
89 90 91 92
	private QyzxEntAuthMapper qyzxEntAuthMapper;

	@Autowired
	private ZzglBmgwMMapper zzglBmgwMMapper;
93

94 95
	@Autowired
	private QyzxPayServeMapper qyzxPayServeMapper;
96

97 98
	@Autowired
	private QyzxSuggestionFeebackMapper qyzxSuggestionFeebackMapper;
99

100 101
	@Autowired
	private QyzxFeebackAccessoryMapper qyzxFeebackAccessoryMapper;
102

103 104
	@Autowired
	private QyzxInvoiceUsualMapper qyzxInvoiceUsualMapper;
105

yuquan.zhu committed
106 107 108 109 110 111 112 113 114 115 116 117 118 119
	/**
	 * 获取企业信息
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ent")
	@ApiOperation(value = "获取企业信息", httpMethod = "GET", notes = "接口发布说明")
	public Result<QyzxEntInfoM> selectent(@CurrentUser UserBean userBean) {
		Integer orgCode = userBean.getOrgCode();
		QyzxEntInfoM qyzxEntInfoM = new LambdaQueryChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper)
				.eq(orgCode != null, QyzxEntInfoM::getId, orgCode).one();
		return ResultUtil.data(qyzxEntInfoM, "获取企业信息成功");
	}
120

121 122 123 124 125 126 127 128 129 130
	/**
	 * 添加/修改企业信息
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/ent")
	@ApiOperation(value = "添加/修改企业信息", httpMethod = "POST", notes = "接口发布说明")
	public Result<QyzxEntInfoM> addent(@CurrentUser UserBean userBean, @RequestBody QyzxEntInfoM qyzxEntInfoM) {
		qyzxEntInfoM.setId(userBean.getOrgCode());
131
		
132 133
		QyzxEntInfoM q = new LambdaQueryChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper)
				.eq(QyzxEntInfoM::getId, userBean.getOrgCode()).one();
134 135
		
		
136 137
		qyzxEntInfoM.setRegisterTime(q.getRegisterTime());
		qyzxEntInfoM.insertOrUpdate();
138

139 140
		return ResultUtil.data(qyzxEntInfoM, "添加/修改企业");
	}
yuquan.zhu committed
141 142 143 144 145 146 147 148 149

	/**
	 * 企业认证-申请
	 * 
	 * @param qyzxEntAuth
	 * @return
	 */
	@PostMapping(value = "/entauth")
	@ApiOperation(value = "企业认证", httpMethod = "POST", notes = "接口发布说明")
150
	public Result<QyzxEntInfoM> entauth(@CurrentUser UserBean userBean, @RequestBody QyzxEntInfoM qyzxEntInfoM) {
yuquan.zhu committed
151
		// 设置审核状态
152 153 154
		qyzxEntInfoM.setAttestStatus(CommonEnum.AUTH_TYPE_UNDEREVIEW.getType());
		qyzxEntInfoM.setId(userBean.getOrgCode());
		qyzxEntInfoM.updateById();
yuquan.zhu committed
155
		// }
156
		return ResultUtil.data(qyzxEntInfoM, "申请企业认证中");
yuquan.zhu committed
157 158 159 160 161 162 163 164
	}

	/**
	 * 企业认证-审核-通过/未通过
	 * 
	 * @param qyzxEntAuth
	 * @return
	 */
165 166 167 168 169 170 171 172 173 174 175 176
	/*
	 * @PostMapping(value = "/entauthcheck")
	 * 
	 * @ApiOperation(value = "企业认证-审核-通过/未通过", httpMethod = "POST", notes =
	 * "接口发布说明") public Result<QyzxEntAuth> entauthcheck1(@CurrentUser UserBean
	 * userBean, @RequestBody QyzxEntAuth qyzxEntAuth) { Integer id =
	 * qyzxEntAuth.getId(); Integer authType = qyzxEntAuth.getAuthType(); if (id ==
	 * null || authType == null) { return ResultUtil.error("参数缺少/异常"); } QyzxEntAuth
	 * entAuth = QyzxEntAuth.builder().id(id).authType(authType).build(); boolean b
	 * = entAuth.updateById(); if (b) { return ResultUtil.data(qyzxEntAuth,
	 * "企业认证-审批成功"); } else { return ResultUtil.error("企业认证-审批失败"); } }
	 */
yuquan.zhu committed
177

178
	/**
179 180 181 182 183
	 * 运营管理 企业认证-审核-通过/不通过(weng)
	 * 
	 * @param qyzxEntAuth
	 * @return
	 */
184 185
	@PostMapping(value = "/entauthpass")
	@ApiOperation(value = "企业认证-审核-通过", httpMethod = "POST", notes = "接口发布说明")
186 187 188 189 190 191 192 193
	public Result<String> entauthpass(@RequestBody EntauthDto entauthDto) {// 2未通过,3通过
		String msg = "企业未认证";
		Integer type = entauthDto.getAuthType();
		if (type == CommonEnum.AUTH_TYPE_SUCCESS.getType()) {
			msg = "企业认证成功";
		}
		if (type == CommonEnum.AUTH_TYPE_FAILURE.getType()) {
			msg = "企业认证失败";
194
		}
195 196 197 198
		boolean b = new LambdaUpdateChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper)
				.eq(QyzxEntInfoM::getId, entauthDto.getOrgCode()).set(QyzxEntInfoM::getAttestStatus, type).update();
		if (b) {
			return ResultUtil.data(msg);
199
		}
200
		return ResultUtil.data("企业认证流程有误");
201
	}
202

203
	/**
204 205 206 207 208
	 * 新增/编辑常用企业开票资料
	 * 
	 * @param QyzxInvoiceUsual
	 * @return
	 */
209 210
	@PostMapping(value = "/invoiceusual")
	@ApiOperation(value = "新增/编辑常用企业开票资料", httpMethod = "POST", notes = "接口发布说明")
211 212
	public Result<QyzxInvoiceUsual> invoiceusual(@CurrentUser UserBean userBean,
			@RequestBody QyzxInvoiceUsual qyzxInvoiceUsual) {
213 214 215 216 217 218 219 220
		qyzxInvoiceUsual.setOrgCode(userBean.getOrgCode());
		qyzxInvoiceUsual.setModifyUser(userBean.getEmpNum());
		boolean tof = qyzxInvoiceUsual.insertOrUpdate();
		if (tof) {
			return ResultUtil.data(qyzxInvoiceUsual, "常用企业开票资料已修改");
		}
		return ResultUtil.error("开票资料修改无效");
	}
221

222
	/**
223 224 225 226 227
	 * 显示常用的企业开票资料
	 * 
	 * @param QyzxInvoiceUsual
	 * @return
	 */
228 229 230 231
	@SuppressWarnings("deprecation")
	@GetMapping(value = "/invoiceusual")
	@ApiOperation(value = "显示常用的企业开票资料", httpMethod = "GET", notes = "接口发布说明")
	public Result<QyzxInvoiceUsual> invoiceusual(@CurrentUser UserBean userBean) {
232 233 234 235 236 237 238 239 240
		QyzxInvoiceUsual one = qyzxInvoiceUsualMapper.selectOne(new QueryWrapper<QyzxInvoiceUsual>().lambda()
				.eq(QyzxInvoiceUsual::getOrgCode, userBean.getOrgCode()));
		if (one != null) {
			if (one.getShippingArea() == null) {
				one.setShippingArea("");
			}
			if (one.getShippingAddress() == null) {
				one.setShippingAddress("");
			}
241
		}
242
		return ResultUtil.data(one, "显示常用的企业开票资料");
243
	}
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260

	/**
	 * 显示企业的超级管理员
	 * 
	 * @param qyzxEntAuth
	 * @return
	 */
	@GetMapping(value = "/smanagerphone")
	@ApiOperation(value = "显示超管头像和电话号码", httpMethod = "GET", notes = "接口发布说明")
	public Result<QyzxEmpLogin> smanagerphone(@CurrentUser UserBean userBean) {
		QyzxEmpEntAsso smanagerid = new LambdaQueryChainWrapper<QyzxEmpEntAsso>(qyzxEmpEntAssoMapper)
				.select(QyzxEmpEntAsso::getEmpNum).eq(QyzxEmpEntAsso::getOrgCode, userBean.getOrgCode())
				.eq(QyzxEmpEntAsso::getStatus, 0).one();
		QyzxEmpLogin smanagerphone = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
				.select(QyzxEmpLogin::getPhone, QyzxEmpLogin::getHeadUrl)
				.eq(QyzxEmpLogin::getId, smanagerid.getEmpNum()).one();
		return ResultUtil.data(smanagerphone, "企业超管头像和电话号码");
yuquan.zhu committed
261 262
	}

263 264 265 266 267 268 269 270 271 272 273 274 275 276
	/*	*//**
			 * 获取企业的到期时间和版本号
			 *//*
				 * @GetMapping(value = "/endtimeversion")
				 * 
				 * @ApiOperation(value = "获取企业的到期时间和版本号", httpMethod = "GET", notes = "接口发布说明")
				 * public Result<QyzxEntInfoM> endtimeversion(@CurrentUser UserBean userBean) {
				 * QyzxEntInfoM qyzxEntInfoM = new
				 * LambdaQueryChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper)
				 * .select(QyzxEntInfoM::getEndTime,QyzxEntInfoM::getLevel).eq(QyzxEntInfoM::
				 * getId, userBean.getOrgCode()).one(); return ResultUtil.data(qyzxEntInfoM,
				 * "获取企业的到期时间和版本号成功"); }
				 */

yuquan.zhu committed
277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
	/**
	 * 企业列表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/entlist")
	@ApiOperation(value = "企业列表", httpMethod = "GET", notes = "接口发布说明", position = 98)
	public Result<List<QyzxEntInfoM>> entlist1(@CurrentUser UserBean userBean) {
		Integer empNum = userBean.getEmpNum();
		QueryWrapper<QyzxEmpEntAsso> queryWrapper = new QueryWrapper<>();
		queryWrapper.select("org_code").eq("emp_num", empNum);
		List<Object> orgCodes = qyzxEmpEntAssoMapper.selectObjs(queryWrapper);
		List<QyzxEntInfoM> qyzxEntInfoMs = new LambdaQueryChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper)
				.in(CollUtil.isNotEmpty(orgCodes), QyzxEntInfoM::getId, orgCodes).list();
		return ResultUtil.data(qyzxEntInfoMs, "获取企业信息成功");
	}

	/**
	 * 切换企业
	 * 
	 * @param org_num
	 * @return
	 */
	@GetMapping(value = "/changeent/{orgCode}")
	@ApiOperation(value = "切换企业", httpMethod = "GET", notes = "接口发布说明", position = 97)
	public Result<List<String>> changeent(@CurrentUser UserBean userBean, @PathVariable Integer orgCode) {
		// 查询该员工加入的企业id列表
		QyzxEmpLogin emp = userBean.getQyzxEmpLogin();
306
		Stream<QysDto> s = emp.getQys().stream().filter(o -> orgCode.equals(o.getId()));
yuquan.zhu committed
307 308 309 310
		// 判断 切换目标企业id 是否包含在 企业id列表 内
		if (s != null) {
			List<String> menus = new ArrayList<>();
			QysDto ctrl = s.findFirst().get();
311 312
			if (CommonEnum.U_TYPE_ADMIN.getType().equals(ctrl.getUserType())
					|| CommonEnum.U_TYPE_C_ADMIN.getType().equals(ctrl.getUserType())) {
yuquan.zhu committed
313 314 315
			} else {
				// 获取权限
				ArrayList<Integer> list = new ArrayList<Integer>();
东州 翁 committed
316 317 318 319 320
//				List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
//						.eq(ZzglBmgwM::getOrgCode, ctrl.getId()).list();
				
				List<ZzglBmgwM> zzglBmgwMs = zzglBmgwMMapper.selectList(new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, ctrl.getId()));
				
yuquan.zhu committed
321 322 323 324 325 326 327
				// 传入的部门岗位是登录者的岗位id.获取的list中只有一个元素,不必要
				ZzglBmgwM.getupDepts(list, ctrl.getBmgwId(), zzglBmgwMs);
				if (list != null && list.size() > 0) {
					LambdaQueryWrapper<ZzglAuth> wp = new LambdaQueryWrapper<>();
					wp.select(ZzglAuth::getMenuId).eq(ZzglAuth::getOrgCode, ctrl.getId())
							.and(i -> i.in(ZzglAuth::getBmgwId, list.toArray()));
					List<ZzglAuth> zas = ZzglAuth.builder().build().selectList(wp);
328
					if (zas.size() == 0)
yuquan.zhu committed
329 330
						return ResultUtil.error(null, "切换企业失败,在该公司没有权限");
					zas.stream().forEach(o -> menus.add(o.getMenuId()));
331
				} else {
yuquan.zhu committed
332 333 334 335 336 337 338 339 340 341 342 343
					return ResultUtil.error(null, "切换企业失败,在该公司没有权限");
				}
			}
			emp.setOrgId(orgCode);
			session.setAttribute("ui", emp);
			qyzxEmpLoginMapper.updateById(emp);
			return ResultUtil.data(menus, "切换企业成功");
		} else {
			return ResultUtil.error();
		}
	}

东州 翁 committed
344 345
	@Autowired
	private OSSUtil oss;
yuquan.zhu committed
346

347
	// 下载系统使用手册 直接提供(OSS公共读权限文件)url地址到前端按钮
yuquan.zhu committed
348
	/**
349
	 * 意见反馈
yuquan.zhu committed
350
	 */
东州 翁 committed
351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377

	/*
	 * @PostMapping(value = "/feedback")
	 * 
	 * @ApiOperation(value = "意见反馈", httpMethod = "POST", notes = "接口发布说明") public
	 * Result<QyzxSuggestionFeeback> feedback(@CurrentUser UserBean userBean,
	 * 
	 * @RequestParam(required = false) String opinionText, @RequestParam(required =
	 * false) String moudle,
	 * 
	 * @Param("files") List<MultipartFile> files) { String url = null; List<String>
	 * list = new ArrayList<String>(); if (files != null) { for (MultipartFile file
	 * : files) { String path = "8timer2.0/" + userBean.getOrgCode() + "/" + moudle
	 * + "/" + file.getOriginalFilename(); if (file == null || file.getSize() <= 0)
	 * { return ResultUtil.error("上传的文件为空,请重新选择!"); } else { try { url =
	 * oss.uploadFile(path, file.getInputStream()); list.add(url); } catch
	 * (IOException e) { e.printStackTrace(); } } } } QyzxSuggestionFeeback feeback
	 * = new QyzxSuggestionFeeback(); feeback.setEmpNum(userBean.getEmpNum());
	 * feeback.setOpinionText(opinionText); feeback.setCreateTime(new Date());
	 * feeback.setOrgCode(userBean.getOrgCode()); boolean a = feeback.insert(); if
	 * (a && list.size() > 0) { for (String opinionUrl : list) {
	 * QyzxFeebackAccessory.builder().feebackId(feeback.getId()).opinionUrl(
	 * opinionUrl).build().insert(); } } return ResultUtil.success("意见反馈成功!"); }
	 */
	/**
	 * 意见反馈2
	 */
378
	@PostMapping(value = "/feedback")
东州 翁 committed
379
	@ApiOperation(value = "意见反馈", httpMethod = "POST", notes = "接口发布说明")
东州 翁 committed
380 381 382 383 384 385 386 387 388 389
	public Result<String> feedback(@CurrentUser UserBean userBean, @RequestBody FeebackDto feebackDto) {
		String opinionText = feebackDto.getOpinionText();
		List<String> urlList = feebackDto.getUrlList();
		QyzxSuggestionFeeback qs = QyzxSuggestionFeeback.builder().orgCode(userBean.getOrgCode()).empNum(userBean.getEmpNum()).opinionText(opinionText).bugType(1).createTime(new Date()).build();
		
		boolean tof = qs.insert();
		Integer feebackId = qs.getId();
		if (tof) {
			for (String str : urlList) {
				QyzxFeebackAccessory.builder().feebackId(feebackId).opinionUrl(str).build().insert();
390
			}
东州 翁 committed
391
			return ResultUtil.data("意见反馈成功!");
392
		}
东州 翁 committed
393 394

		return ResultUtil.data("意见反馈失败!");
yuquan.zhu committed
395
	}
396

yuquan.zhu committed
397
	/**
398
	 * 查看服务列表
yuquan.zhu committed
399
	 */
400
	@GetMapping(value = "/servelist")
401 402 403 404 405 406 407
	@ApiOperation(value = "查看服务列表", httpMethod = "GET", notes = "接口发布说明")
	public Result<List<QyzxPayServe>> servelist() {
		List<QyzxPayServe> list = new LambdaQueryChainWrapper<QyzxPayServe>(qyzxPayServeMapper)
				.select(QyzxPayServe::getName, QyzxPayServe::getNum, QyzxPayServe::getSpecialPrice,
						QyzxPayServe::getOriginalPrice, QyzxPayServe::getSort, QyzxPayServe::getUnit,
						QyzxPayServe::getRemark)
				.orderByAsc(QyzxPayServe::getId).list();
408
		return ResultUtil.data(list, "查看服务列表成功");
yuquan.zhu committed
409
	}
410

yuquan.zhu committed
411 412 413 414 415 416
	/**
	 * 购买服务(添加服务计算,添加购买记录)
	 * 
	 * @param
	 * @return
	 */
417 418 419
	@PostMapping(value = "/buyserve")
	@ApiOperation(value = "购买服务(添加服务计算,添加购买记录)", httpMethod = "POST", notes = "接口发布说明")
	public Result<QyzxLogBuy> buyserve(@CurrentUser UserBean userBean, @RequestBody QyzxLogBuy qyzxLogBuy) {
yuquan.zhu committed
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504
		Integer payServeId = qyzxLogBuy.getPayServeId();// 套餐的付费服务的id
		Integer num = qyzxLogBuy.getNum();// 套餐的购买次数
		QyzxPayServe qyzxPayServe = QyzxPayServe.builder().id(payServeId).build().selectById();
		Integer code = qyzxPayServe.getCode();// 获取套餐的付费服务代码

		Double o = qyzxPayServe.getOriginalPrice();
		Double s = qyzxPayServe.getSpecialPrice();
		Double price = (s != null && s > 0d ? s : o);
		Double money = NumberUtil.round(NumberUtil.mul(price, num), 4).doubleValue();
		log.info("money:" + money);
		Date date = new Date();
		log.info("date:" + date);
		// 添加购买记录表
		QyzxLogBuy.builder().empNum(userBean.getEmpNum()).payServeId(payServeId).money(money).num(num).createTime(date)
				.build().insertOrUpdate();
		// 添加或修改服务计算表
		Integer number = qyzxPayServe.getNum();
		QueryWrapper<QyzxAttaFwjsb> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("emp_num", userBean.getEmpNum()).eq("code", code);
		Integer result = QyzxAttaFwjsb.builder().build().selectCount(queryWrapper);
		if (result != null && result > 0) {
			QyzxAttaFwjsb fwjb = QyzxAttaFwjsb.builder().build().selectOne(queryWrapper);
			// 续费
			QyzxAttaFwjsb.builder().id(fwjb.getId()).empNum(userBean.getEmpNum()).code(code)
					.hasNum(fwjb.getHasNum() + num * number).createTime(date).build().insertOrUpdate();
		} else {
			// 新增
			QyzxAttaFwjsb.builder().empNum(userBean.getEmpNum()).code(code).hasNum(num * number).createTime(date)
					.build().insertOrUpdate();
		}
		return ResultUtil.data(qyzxLogBuy, "添加/修改发票资料成功");
	}

	// 使用系统购买服务
	/**
	 * 获取服务计算
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/fwjs")
	@ApiOperation(value = "查看服务计算", httpMethod = "GET", notes = "接口发布说明")
	public Result<List<QyzxAttaFwjsb>> fwjs(@CurrentUser UserBean userBean) {
		List<QyzxAttaFwjsb> qyzxAttaFpgl = QyzxAttaFwjsb.builder().build()
				.selectList(new QueryWrapper<QyzxAttaFwjsb>().eq("emp_num", userBean.getEmpNum()));
		return ResultUtil.data(qyzxAttaFpgl, "获取服务计算成功");
	}

	/**
	 * 获取购买记录
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/gmjl")
	@ApiOperation(value = "获取购买记录", httpMethod = "GET", notes = "接口发布说明")
	public Result<List<QyzxLogBuy>> selectgmjl(@CurrentUser UserBean userBean) {
		List<QyzxLogBuy> qyzxLogBuy = QyzxLogBuy.builder().build()
				.selectList(new QueryWrapper<QyzxLogBuy>().eq("emp_num", userBean.getEmpNum()));
		return ResultUtil.data(qyzxLogBuy, "获取购买记录成功");
	}

	/**
	 * 查询购买记录
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/gmjlquery")
	@ApiOperation(value = "查询购买记录", httpMethod = "POST", notes = "接口发布说明")
	public Result<Object> querygmjl(@CurrentUser UserBean userBean, @RequestBody AttaFpglQueryDto attaFpglQueryDto) {

		Integer empNum = userBean.getEmpNum();
		attaFpglQueryDto.setEmpNum(empNum);

		IPage<LogBuyDto> page = new Page<LogBuyDto>(
				attaFpglQueryDto.getCurrentPage() == null ? 1 : attaFpglQueryDto.getCurrentPage(),
				attaFpglQueryDto.getTotalPage() == null ? 10 : attaFpglQueryDto.getTotalPage());

		List<LogBuyDto> logBuyDto = qyzxLogBuyMapper.selectByName(page, attaFpglQueryDto);

		return ResultUtil.data(page, logBuyDto, "查询成功");
	}

	/**
505
	 * 账号管理 获取账号
yuquan.zhu committed
506 507 508 509 510 511
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/adminlist/{page}/{limit}")
	@ApiOperation(value = "获取账号", httpMethod = "GET", notes = "接口发布说明")
512 513 514 515
	public Result<Object> adminlist(@CurrentUser UserBean userBean, @PathVariable("page") Integer page,
			@PathVariable("limit") Integer limit) {
		IPage<AdminListDto> page1 = new Page<AdminListDto>(page, limit);
		return ResultUtil.data(page1, qyzxEmpEntAssoMapper.adminlist(page1, userBean.getOrgCode()), "获取账号");
yuquan.zhu committed
516 517 518
	}

}